ホーム -> 5章 基本操作
prev 初心者向けSQL解説サイト 前へ 初心者向けSQL解説サイト トップへ 初心者向けSQL解説サイト 次へ next

5-5.その他の演算子

  • BETWEEN演算子
    論理演算子で同様の処理は行えますが、英語の方がスマートな感じがします。

    英語が50点以上90点以下のデータを取得

    
    SELECT * FROM tbl_exam WHERE eng BETWEEN 50 AND 90;
    
    

    
    +-------+------+------+------+
    | id    | eng  | math | memo |
    +-------+------+------+------+
    | 00001 |   85 |   85 | なし |
    | 00004 |   90 |   55 | なし |
    +-------+------+------+------+
    
    

  • IS NULL演算子

    英語、数学で試験を受けていない者のデータを取得します。
    現在登録しているデータで英語、数学が未記載の生徒がいないのでデータを作成します。

    
    INSERT INTO tbl_exam(
     id, eng, math
    )
    VALUES(
     '00006', '55', NULL
    ),(
     '00007', NULL, '55'
    );
    
    

    挿入したデータを確認します。

    
    SELECT * FROM tbl_exam;
    
    

    
    +-------+------+------+------------+
    | id    | eng  | math | memo       |
    +-------+------+------+------------+
    | 00001 |   85 |   85 | なし       |
    | 00002 |    0 |   95 | 名前未記載 |
    | 00004 |   90 |   55 | なし       |
    | 00006 |   55 | NULL | なし       |
    | 00007 | NULL |   55 | なし       |
    +-------+------+------+------------+
    
    

    NULLのデータを取得します。

    
    SELECT * FROM tbl_exam WHERE eng IS NULL OR math IS NULL;
    
    

    
    +-------+------+------+------+
    | id    | eng  | math | memo |
    +-------+------+------+------+
    | 00006 |   55 | NULL | なし |
    | 00007 | NULL |   55 | なし |
    +-------+------+------+------+
    
    

  • IN演算子

    IDが'00001'と'00002'のデータを取得した場合
    SELECT * FROM tbl_exam WHERE id='00001' OR id='00002'; としても良いのですが、取得したいIDが増えた場合に手間がかかるので、そういった場合にIN 演算子を使用します。

    
    SELECT * FROM tbl_exam WHERE id IN ('00001', '00002');
    
    

    
    +-------+------+------+------------+
    | id    | eng  | math | memo       |
    +-------+------+------+------------+
    | 00001 |   85 |   85 | なし       |
    | 00002 |    0 |   95 | 名前未記載 |
    +-------+------+------+------------+
    
    

prev 初心者向けSQL解説サイト 前へ 初心者向けSQL解説サイト トップへ 初心者向けSQL解説サイト 次へ next
inserted by FC2 system