副問い合わせ(1)

MySQL

例えば、miuraさんと同じ都道府県に住んでいるメンバーを表示したい場合、
mysqlへのアクセスを2回行う必要があります。

1回目は以下のような命令で、miuraさんのaddressを確認します。

2回目は、1回目のクエリで得られた結果を元に以下のようなクエリを発行します。

これを一回のクエリにまとめるための手法が副問い合わせです。

副問い合わせを使えば、以下のように上記の2回のクエリを1回にまとめられます。

これは、ベースとなるselect文のwhere句のaddressの条件として、「select address from member where name=’miura’」の
結果を使っています。このselect文が副問い合わせになります。
結果として、先ほどのクエリを2回出したときの結果と同じになります。

副問い合わせが複数行の場合

上の例では副問い合わせの結果が1行だからできますが、副問い合わせのselectの結果が複数行になる可能性がある場合はJOIN句を使用します。

/

タイトルとURLをコピーしました