1. mysql サブクエリの基本知識
サブクエリとは、元のクエリ ステートメントに新しいクエリを埋め込んで、必要な結果セットを取得することです。
サブクエリは一般に、where 型サブクエリ、from 型サブクエリ、exist 型サブクエリに分類されます。
1.where
type subquery: 内部クエリの結果を外部クエリの比較条件として使用します。
select 列1,列2,...,列n from 表名 where 列i =/in (select 列1,列2,...,列n from 表名 where ...);
2.from
type subquery: 内部クエリの結果を、外部 SQL が再度クエリするための一時テーブルとして扱います。クエリ結果セットはテーブルとして扱うことができます。一時テーブルでは別名を使用する必要があります。
select 列1,列2,...,列n from (select 列1,列2,...,列n from 表名 where ...) as 表别名 where ....;
3.exists
型サブクエリ: 外側のSQLの結果を内側のSQLに取得してテストし、内側のSQLが成立していれば行を取り出します。内部クエリは存在後のクエリです。
select 列1,列2,...,列n from 表名 where exists (select 列1,列2,...,列n from 表名 where ...);
2. クエリ例
次の図は、成績表とクラス表のデータを示しています。
1. スコア表で数学のスコアが最も高い生徒の情報をクエリします;
2.スコア表内の各生徒を照会します クラスの最高合計成績;
3. 成績表とクラス表に従って、その学年で成績が欠落しているクラスを見つけますテーブル;
推奨チュートリアル: "sql チュートリアル"
以上がサブクエリは一般にいくつかのタイプに分類されますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。