MySql データベースのサブクエリと高度なアプリケーションの簡単な分析

MySql データベースのサブクエリと高度なアプリケーションの簡単な分析

MySql データベースのサブクエリ:

サブクエリ: 選択クエリ ステートメント内に別の選択ステートメントをネストします。その主な機能は、クエリ条件として機能したり、データ ソースを決定したりすることです。

コード例は次のとおりです。

例 1. 平均年齢よりも年上の学生を照会する:

年齢が>である学生から*を選択します(学生から平均年齢を選択します);

例 2. クラス内のすべての生徒のクラス名を照会します。

ID が含まれるクラスから名前を選択します (cls_id が null でない学生から cls_id を選択します)。

例 3. 最年長で最も背の高い生徒を見つけます。

(年齢、身長) = (学生から max(年齢)、max(身長) を選択) の場合、学生から * を選択します。

MySql の高度なアプリケーション:

1. クエリされたデータを新しいテーブルに追加します。

サブクエリを使用して、クエリ結果をデータとして新しいテーブルに挿入します。これは、キーワード create table ... select ... によって実現されます。コードは次のとおりです。

テーブル テーブル名 (フィールド名 1、型制約、...) を作成します。クエリ条件でテーブル名からフィールド名を選択します。

実行プロセスでは、まず SELECT ステートメントを実行して、WHERE 条件を通じてデータ ソースを決定し、次にクエリされたデータを新しく作成されたテーブルに挿入します。

注: この方法を使用する場合、テーブル内の指定されたフィールドにデータを追加するには、見つかったフィールドにテーブル内のフィールド名と同じエイリアスを指定する必要があります。

2. クエリの結果をテーブルに追加します。

サブクエリを使用して、クエリ結果をデータとしてテーブルに挿入します。これは、キーワード insert into ... select ... を使用して行われます。コードは次のとおりです。

テーブル名に挿入 (フィールド名 1、...) テーブル名からフィールド名 1、... を選択 クエリ条件

実行プロセスは、まず select ステートメントを実行して where 条件を通じて指定されたデータをフィルターし、次に insert into ステートメントを実行して指定されたフィールド名にデータを追加します。

3. 接続を使用してテーブル内のフィールドのデータを更新します。

接続を使用して、キーワード update ... join.. キーワード実装、コード実装を通じて、テーブル内のフィールドデータを更新します。

table1 を更新し、table2 を table1.field = table2.field で結合し、table1.field = table2.field を設定します。

実行プロセスでは、2 つのテーブルを接続し、テーブル 2 のフィールドの値をテーブル 1 の指定されたフィールドに設定します。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • MySQLの結合クエリ、ユニオンクエリ、サブクエリの原理と使用例の詳細な説明
  • MySQL マルチテーブルクエリ例の詳しい解説 [リンククエリ、サブクエリなど]
  • MySQLは複数テーブル関連統計(サブクエリ統計)の例を実装します
  • MySQL データベースの詳細な説明 - 複数テーブル クエリ - 内部結合、外部結合、サブクエリ、相関サブクエリ
  • MySQL サブクエリ (ネストされたクエリ)、結合テーブル、複合クエリの詳細な説明
  • MySQLサブクエリ操作例の詳細な説明
  • MYSQL サブクエリとネストされたクエリの最適化例の分析
  • MySQL データベースのパフォーマンス最適化サブクエリ
  • MySQLデータベースでのサブクエリの使用
  • MySql のサブクエリ内のクエリ例の詳細な説明

<<:  Ubuntu 18.04 に Anaconda3 をインストールするための詳細なチュートリアル

>>:  JS における ES6 継承と ES5 継承の違い

推薦する

Windows 7 で MySQL 8.0.16 をインストールして使用する場合、パスワードの変更と Navicat への接続に関する問題が発生する

MySQL のインストール時にいくつかの問題が発生しました。オンラインで見つけた回答は似たようなもの...

WeChatアプレット仮想リストの応用例

目次序文仮想リストとは何ですか?デモ効果準備スクリーンの高さとボックスの高さ最適化要約する序文人気の...

MySQL インデックスの設計と最適化の方法

目次インデックスとは何ですか?左端のプレフィックス一致の原則key_lenの計算方法インデックスの最...

Navicat Premier の MySQL へのリモート接続エラー 10038 の解決方法

MySQL へのリモート接続が失敗する場合は、次の理由が考えられます。 1. 若い男性/女性の方は、...

vue+element テーブルで動的な列フィルタリングを実装するためのサンプルコード

要件: データをリスト形式で表示する場合、表示すべき情報項目が多く、表が横に長くなってしまいます。表...

vue backtop コンポーネントを実装するための完全なコード

効果: コード: <テンプレート> <div class="back-t...

MySQL: データの整合性

データ整合性は、エンティティ整合性、ドメイン整合性、参照整合性に分けられます。参照整合性:参照整合性...

mysql 3つのテーブルを接続してビューを作成する

3 つのテーブルが接続されています。テーブル A のフィールド a はテーブル B のフィールド b...

MySQL の全体的なアーキテクチャの紹介

MySQL の全体的なアーキテクチャは、サーバー層とストレージ エンジン層に分かれています。サーバー...

Dockerコンテナ起動時に固定IPを設定する実装

Dockerインストール後のネットワークタイプ [root@insure updev]# docke...

Nginx 運用保守ドメイン名検証方法例

インターフェイス ドメイン名を構成する際、各パブリック プラットフォームはドメイン名に対する開発者の...

初心者向け入門チュートリアル④:サブディレクトリのバインド方法

これが何を意味するのかを理解するには、まずサブディレクトリとは何かを知る必要があります。では、サブデ...

DockerでJenkinsをインストールし、初期プラグインのインストール失敗の問題を解決する

Jenkins をインストールした後、プラグインの初期ダウンロードが常に失敗し、インストールが失敗し...

Docker で Let's Encrypt から永久無料 SSL 証明書を取得する方法

1. 原因公式の cerbot は面倒すぎます。野生の成長よりもさらに悪い acme.sh の使用は...

Windows Server 2008 64ビット MySQL5.6 インストール不要版 設定方法図

1 公式ウェブサイトから MySQL 5.6 バージョンの圧縮パッケージmysql-5.6.36-w...