[DQL] - SELECT_WHERE


WHERE


2.1デフォルトのWHEREセクション

SELECT 칼럼명, 칼럼명1... 칼럼명n
FROM 테이블명
WHERE 칼럼이름 비교연산자 조건값;

EMPテーブルで実習しよう!

SELECT * FROM emp;

2.2 Oracle基本演算子


2.2.1比較演算子


演算子の説明=等しい>大きい<小さい>=以上<=以上<>、!=、^=異なる
SELECT * FROM emp
1. WHERE deptno <> 30;
2. WHERE deptno != 30;
3. WHERE deptno ^= 30;
4. WHERE NOT deptno = 30;

1.EMPテーブルでdeptnoが20、salが2000以上、またはhiredateが82年01月01日以前の従業員を検索します。



CODE

  SELECT * 
  FROM emp 
  WHERE deptno = 20 
      AND (sal >= 2000 OR hiredate <= '82/01/01');

2.2.2論理演算子

  • 比較演算子または他のWHEREに2つ以上の条件構文がある場合は、論理演算子を使用して条件論理を接続し、条件を満たす値を問い合わせる
  • 結果クエリ交差条件A OR条件B両方の条件のいずれかが結果クエリ交差条件A OR条件B両方の条件のいずれかを満たし、結果クエリ並列セットNOT条件A条件を満たさない結果クエリ余セット

    2.3 WHEREセクションで使用可能なその他の演算子


    演算子は、BETWEEN条件AとD条件BとBとの間のデータ出力(aとbを含む)IN(値1...)を記述する.出力データ(%,使用)IS NULL値、出力データは表データ値のいずれかと一致し、出力データは出力NOT BETWEEN a AND BAとBの間(a,bを除く)NOTIN(値1)ではない表データ値の値と一致しないデータを出力し、出力NOT LIKE文字フォーマットと一致しないデータを出力し、出力IS NOT NULLNULL値を持たないデータを出力する

    2.EMPテーブルでdeptnoが20,30の従業員情報を問い合わせる。



    CODE

      SELECT * 
      FROM emp 
      WHERE deptno 
          IN(20,30);

    2.3.1 IN、NOT IN演算子


    3.empnoの7698から7902までのお寺を調べてみます。



    CODE

      SELECT * 
      FROM emp 
      WHERE empno 
          BETWEEN 7698 
              AND 7902;

    2.3.2 BETWEEN,NOT BETWEEN演算子


    4.1980年に入社した社員ではないことを調べる。



    CODE

      SELECT * 
      FROM emp 
      WHERE hiredate 
              NOT BETWEEN '1980/01/01' 
              AND '1980/12/31';

    2.3.3 LIKE、NOT LIKE演算子


    5.EMPテーブルでKという名前のお寺のenameとempnoを検索します。



    CODE

      SELECT ename, empno 
      FROM emp 
      WHERE ename 
          LIKE '%K%';

    2.3.4 IS NULL、IS NOT NULL演算子


    6.EMPテーブルでKで始まる寺院のenameとempnoを検索します。



    CODE

      SELECT ename, empno 
      FROM emp 
      WHERE ename 
          LIKE 'K%';

    7.EMPテーブルでKで終わる寺院のenameとempnoを検索します。



    CODE

      SELECT ename, empno 
      FROM emp 
      WHERE ename 
          LIKE '%K';

    8.EMPテーブルでは、名前の2番目のアルファベットがAの社員のenameとempnoをクエリーします。



    CODE

      SELECT ename, empno 
      FROM emp 
      WHERE ename 
        LIKE '_A%';

    9.名前に「A」が入っていない社員情報を調べてみる。



    CODE

      SELECT * 
      FROM emp 
      WHERE ename 
          NOT LIKE '%A%'

    Reference

  • 表資料:Oracle-EMP 테이블
  • 参考書(書):SQL運用+実習後整理
  • 🎈2020.10.29