サブクエリ
【環境】
MySQL:5.5.27, 5.5.38
MySQL:5.5.27, 5.5.38
MySQL:13.2.10 Subquery Syntax
概要
SQL 文の中に、独立した SQL 文を入れ込む。
- SELECT *
- FROM hoge
- WHERE user_id = ( SELECT id FROM user WHERE name = "田中" )
例えば、こんな風に書くと、user テーブルで田中さんの id を突き止め
hoge テーブルにある、田中さんの情報だけを取り出すことができる。 😎
使い方
ルール
サブクエリは()で括りましょう。
SELECT 句
言葉でうまく説明できないので、参考サイト参照。
でも、こういう使い方ができると便利だね~。
FROM 句
本来テーブル名を書くはずの FROM 句。
ここにサブクエリを置くことで、クエリをテーブルとして扱うことができる。
ルール
必ずエイリアスをつけましょう。
私は見事にはまりました。 👿
サブクエリ -> エイリアス
WHERE 句、HAVING 句
クエリ結果を条件に設定することができる。
まだまだこの程度しかわかっていないので
また判明したことが出てきたら追記!
相関サブクエリ
メインクエリとサブクエリに共通のレーブルが登場するタイプ?
MySQL は苦手とするみたい。
参考サイト
Smart:SELECT構文:サブクエリ構文
TECHSCORE:7. サブクエリ