SQLの説明その2と課題用資料

SQLの命令の説明 part2 と、残り時間は課題のための演習時間とする。

SQL説明2

SQLの説明の残りということで、WHERE節でかける特殊な条件や、 副問い合わせなどについて説明する。

値 IN 集合
 例:SELECT S.業者名, S.所在 FROM S
    WHERE S.業者番号 IN
     (SELECT SG.業者番号
      FROM SG
      WHERE SG.商品番号 = 'G2' AND SG.在庫量 >= 200) ;

文字列 LIKE パターン
 例: SELECT S.業者名 FROM S WHERE S.業者名 LIKE 'AB%' ;
    ワイルドカード文字: % 任意の文字 , _ 1文字

値 BETWEEN 値 AND 値
 例: SELECT G.価格 FROM G G.価格 BETWEEN 100 AND 200 ;

上記の IN の例に示すように、SQLの中の() に、別のSQL命令を記述できる。 この場合は、()の中のSQLを予め実行し、その結果の中に S.業者番号 が含まれれば、 WHERE節が成立する。このような処理が副問い合わせである。

実際には、もう少し複雑な"相関副問い合わせ"というものもあり、

 SELECT G.商品名, G.色, G.価格 FROM G
  WHERE 'S4' IN
   (SELECT SG.業者名 FROM SG
    WHERE SG.商品番号 = G.商品番号 ) ;

上記の副問い合わせの中には、全体の問い合わせのテーブルGが含まれており、 このような副問い合わせでは、()の中を先に実行しておくことはできない。 このため、Gのテーブルについて1件づつG.商品番号を代入して()の中を実行し、 その結果で WHERE 'S4' IN (...) が成立するかチェックされる。 このような問い合わせは、相関副問い合わせと呼ばれる。

注意:この授業で使う実験環境は、SQLiteであり、相関副問い合わせは使えない。

課題用資料

 

2015年12月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

アーカイブ

Google

このブログ記事について

このページは、T-Saitohが2012年10月26日 12:07に書いたブログ記事です。

ひとつ前のブログ記事は「2分木の応用/意思決定木」です。

次のブログ記事は「2EI工場見学で松浦機械を訪問」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。