STERFIELD

Mysql サブクエリを使ったSELECT文 

Mysql サブクエリを使ったSELECT文 

サブクエリを使って条件を抽出していきます。

サブクエリとは

SQL文の中にSELECT文を埋め込み、抽出条件として利用することを可能としています。
SELECT文の中に、SELECT文が入る「入れ子」になります。
サブクエリは()で囲って使用します。

WHERE以下の()で示した部分がサブクエリです.実行の際にはまずサブクエリが解決され,値が抽出されます.次にメインのクエリが解決され,サブクエリから返された値と等しい値を持つレコードが選択されます.上記ではサブクエリとメインのクエリを「=」で結んでいますが,そのほかにも以下の演算子が使用できます.

比較演算子説明
=等しい
<小さい
>大きい
<=以下
>=以上
<>, !=等しくない

サブクエリを使用したSQLサンプル

以下のデータを使用してサブクエリを使って行います。

User
UserIDName
1嶋田
2山城
3後藤

 

Order
OrderIDOrderItemOrderUserID
1Pコート3
2ダッフルコート3
3ダウンジャケット1
4モッズコート1
5N-2Bブルゾン2

この場合、例えば「嶋田」さんが注文した商品をリストアップしたい、というときには、
・まず、テーブル「User」を検索して「嶋田」という名前のユーザーのIDを取得
・取得したユーザーのIDを元に「Order」を検索して、注文した商品リストを取得
という手順になるわけですが、この処理をサブクエリを使うことによって、以下のようにできます。
SQL

結果

OrderIDOrderItem
3ダウンジャケット
4モッズコート

 

 

 

Author Profile

著者近影

スターフィールド編集部

SHARE

合わせて読みたい