【SQL】サブクエリについて

SQL関連で躓きやすい項目として、「サブクエリ(副問合せ)」が挙げられることがあります。
ただ、イメージとしては以下の図のように元テーブルから小さなテーブルを抽出して処理をするイメージなのであまり苦手意識を待たなくても大丈夫だと思っています。

サブクエリのイメージ

この様に単純に1つのテーブルからデータを取ってくるというのが一番わかりや宇井イメージです。
実際には別のテーブルの結合(JOIN)や計算などが加わる場合もありますが、イメージはあまり変わりません。
苦手意識の改善に役立てればと思います。

なお、注意点として、サブクエリそのもので1回分のSQL実行を行うことになるので、多用すると速度低下につながりうることは考慮が必要です。
また、状況によってはサブクエリを使用すなくてもCASE式などで代替可能なこともありますので、色々な手法を考えてみるのもいいかもしれません。

いいなと思ったら応援しよう!