prev | next |
7-3.限定述語
-
ALL演算子
サブクエリによって取り出されたすべての値と比較します。すべての英語の点数より高い数学の点数を表示
SELECT * FROM tbl_exam WHERE math >= ALL( SELECT eng FROM tbl_exam );
+-------+------+------+------------+ | id | eng | math | memo | +-------+------+------+------------+ | 00002 | 0 | 95 | 名前未記載 | +-------+------+------+------------+
-
EXISTS演算子
サブクエリに取り出されたデータが1つでもあれば、メインクエリを実行、なければ無効にします。英語で70点以上のものがいれば、全生徒のデータを取得します。
SELECT * FROM tbl_std WHERE EXISTS( SELECT eng FROM tbl_exam WHERE eng > 70 );
+-------+------------+---------------+-------------+--------+---------+ | id | entrance | name | eng_name | addr1 | addr2 | +-------+------------+---------------+-------------+--------+---------+ | 00001 | 2000-04-01 | 佐藤 | Sato Taro | 北海道 | 1丁目 | | 00002 | 1998-08-01 | ウルトラ マン | Urutora Man | 新宿 | 2丁目 | | 00005 | 2002-01-01 | ライダー 1号 | Raider One | 畑 | 第1区画 | +-------+------------+---------------+-------------+--------+---------+
-
ANY演算子
サブクエリによって取り出された値のいずれかと比較します。試験を受けているものの生徒一覧データを取得します。
SELECT * FROM tbl_std WHERE id=ANY(SELECT id FROM tbl_exam);
+-------+------------+---------------+-------------+--------+-------+ | id | entrance | name | eng_name | addr1 | addr2 | +-------+------------+---------------+-------------+--------+-------+ | 00001 | 2000-04-01 | 佐藤 | Sato Taro | 北海道 | 1丁目 | | 00002 | 1998-08-01 | ウルトラ マン | Urutora Man | 新宿 | 2丁目 | +-------+------------+---------------+-------------+--------+-------+
prev | next |