Blog

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

2014.11.25Cat:MySQL プログラマー

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

サブクエリとは

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

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

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

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

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

User
UserID Name
1 嶋田
2 山城
3 後藤

 

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

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

結果

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

 

 

 

Author Profile

  • Launch Cart次世代ECサイト構築システム 初期月額無料
  • LaunchMovie ECに特化した動画制作サービス

Archive

ページTOPへ