ホーム -> 7章 応用操作
prev 初心者向けSQL解説サイト 前へ 初心者向けSQL解説サイト トップへ 初心者向けSQL解説サイト 次へ 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 初心者向けSQL解説サイト 前へ 初心者向けSQL解説サイト トップへ 初心者向けSQL解説サイト 次へ next
inserted by FC2 system