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 継承の違い

推薦する

Vue+SpringBoot で Alipay サンドボックス決済を実装するためのサンプルコード

まず、Alipay サンドボックスから一連のものをダウンロードします。多くのブログで取り上げられてお...

MySQLログシステムの使い方に関する簡単なチュートリアル

目次序文1. エラーログ2. バイナリログ1. バイナリログを有効にする2. バイナリログ形式3. ...

mysql8.0.14.zip のインストール中にデータ フォルダを自動的に作成できませんでした。サービスを開始できません。

今日システムを再インストールした後、コンピューターに mysql を再インストールし、ZIP ファイ...

CSS オーバーフローラップの新しいプロパティ値をどこでも使用

1.まず、overflow-wrap属性を理解する CSS のoverflow-wrapプロパティは...

発生したブラウザの互換性の問題と解決策(推奨)について

序文:先週の日曜日、先輩から3ページ作るのを手伝って欲しいと頼まれました。データのやり取りなどはなく...

Vueフロントエンドパッケージングの詳細なプロセス

目次1. パッケージ化コマンドを追加する2. パッケージ化されたコードを実行する3. パッケージ化し...

ネイティブJSで様々なモーションの複合モーションを実現

この記事では、ネイティブ JS で実装された複合モーションを紹介します。複合モーションとは、異なる属...

MySQL サーバーの接続、切断、および cmd 操作

mysql コマンドを使用して MySQL サーバーに接続します。 MySQL サーバーが起動したら...

SQL 挿入文の書き方の説明

方法 1: INSERT INTO t1(field1,field2) VALUE(v001,v00...

MySQL で乱数を生成し、文字列を連結する方法の例

この記事では、MySQL が乱数を生成し、文字列を連結する方法について例を使用して説明します。ご参考...

Linuxでスクリーンショットを撮って編集するための最高のツール

メインのオペレーティング システムを Windows から Ubuntu に切り替えたとき、最初に考...

win10にUbuntu18デュアルシステムをインストールするとmmx64.efiが見つからないという問題が発生する

Ubuntu 18のインストール中に、USBディスクからUbuntuのインストールを開始すると、mm...

Vue3 テーブルコンポーネントの使用

目次1. Antデザインビュー1. 公式ウェブサイトアドレス2. 使い方3.電子書籍テーブルを表示す...

uniapp プロジェクトで MQTT を使用する方法

目次1. uniappプラグインマーケットのリファレンスプラグイン2. 具体的な導入プロセス1. m...