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

推薦する

CSS の div の下の同じ行にある複数の要素を右揃えにする

方法1:フロート:右さらに、フローティングにするとレイアウトがよりコンパクトになります(隙間がなくな...

トランジションコンポーネントのアニメーション効果を使用した Vue サンプルコード

トランジションドキュメントアドレスは、フェードインとフェードアウト効果を実現するための背景ポップアッ...

Linux システムを起動時に自動的にスクリプトを実行するように設定する方法の例

序文みなさんこんにちは。私は梁旭です。職場では、システムの起動後にスクリプトやサービスを自動的に開始...

MySQLのあいまいクエリインデックスの失敗の問題を解決するいくつかの方法

% ワイルドカードを使用すると、インデックス失敗の問題が発生することがよくあります。ここでは、lik...

ReactとReduxの関係を詳しく説明

目次1. reduxとreactの関係2. Reactのマルチコンポーネント共有3. reduxの3...

MySql 8.0.11 のインストールと設定のチュートリアル

公式ウェブサイトアドレス: https://dev.mysql.com/downloads/mysq...

mysqldump でデータベースをバックアップするときに特定のライブラリを除外する例

例: mysqldump –all-databases を使用すると、すべてのライブラリがエクスポー...

HTML+CSS で div タグの右上隅に削除アイコンを追加するサンプルコード

1. 要件の説明Divタグの右上隅に削除アイコンを表示します2. 実装html、CSS 3. 参照コ...

docker cp ファイルをコピーしてコンテナに入る

実行中のコンテナに入る # コンテナに入り、新しいターミナルを開きます# docker exec -...

Nginx レイヤー 4 負荷分散構成ガイド

1. レイヤー4負荷分散の概要レイヤー 4 ロード バランシングとは何ですか?いわゆる 4 層負荷分...

MySQL の binlog ログと、binlog ログを使用してデータを回復する方法を説明します。

ご存知のとおり、binlog ログは MySQL データベースにとって非常に重要です。万が一、データ...

Vueバスの簡単な使い方

Vueバスの簡単な使い方シナリオの説明:コンポーネント A にはコンポーネント B と C が含まれ...

Dockerコンテナのいくつかの保存方法の詳細な説明

目次前面に書かれた複数のストレージマウント方法1.バインドマウント2. 巻数3.tmpfsマウントス...

MySQLクエリ速度が遅く、パフォーマンスが低下する原因と解決策

1. データベースクエリの速度に影響を与えるものは何ですか? 1.1 データベースクエリ速度に影響を...

15行のCSSコードがAppleデバイスをクラッシュさせる可能性があり、最新のiOS 12も例外ではない

たった15行のCSSでiPhoneがクラッシュするWire のセキュリティ研究者 Sabri Had...