SQL (WHERE 절)


WHERE 절
  • 데이터를 원하는 조건에 맞게 조회할 때 사용
  • 여러 조건 전달 가능
  • NULL 조회 시 IS NULL | IS NOT NULL 사용
SELECT EMPNO, ENAME, SAL
  FROM EMP
 WHERE EMPNO = 5;
 -- 사원번호가 5인 사원 정보 조회

SELECT EMPNO, ENAME, SAL
  FROM EMP
 WHERE EMPNO = 5
    OR SAL >= 1000;
 -- 사원번호가 5이거나 SAL이 1000 이상인 사원 정보 조회

SELECT EMPNO, ENAME, SAL
  FROM EMP
 WHERE ENAME = 'ALEX'
    OR ENAME = 'MARIO';
 -- ALEX, MARIO 정보 조회


SELECT EMPNO, ENAME, SAL
  FROM EMP
 WHERE ENAME IN ('ALEX', 'MARIO');
 -- ALEX, MARIO 정보 조회
 -- IN 연산자 사용시 문자와 날짜는 '' 와 함께 전달

SELECT EMPNO, ENAME, SAL
  FROM EMP
 WHERE SAL >= 1000
   AND SAL <= 2000;
 -- SAL이 1000 이상 2000 이하인 사원 정보 조회


SELECT EMPNO, ENAME, SAL
  FROM EMP
 WHERE SAL BETWEEN 1000 AND 2000;
 -- SAL이 1000 이상 2000 이하인 사원 정보 조회
 -- BETWEEN A AND B 연산자 사용 시 A 가 B 보다 작아야 함

SELECT EMPNO, ENAME, SAL
  FROM EMP
 WHERE SAL IS NULL;
 -- SAL 값이 NULL인 사원 정보 조회



LIKE 연산자
  • 조건 전달 시 사용
  • %_ 사용
    • ENAME LIKE ‘A%’ : 이름이 A로 시작
    • ENAME LIKE ‘%A%’ : 이름 사이에 A를 포함
    • ENAME LIKE ‘%A’ : 이름이 A로 끝남
    • ENAME LIKE ‘_A%’ : 이름이 A로 끝나는 2글자
    • ENAME LIKE ‘_A_’ : 이름 가운데 글자가 A인 3글자
    • ENAME LIKE ’*_’ : 이름이 *로 시작하는 아무 문자 2글자



NOT 연산자
  • NOT 뒤에 오는 연산의 반대 결과를 리턴
SELECT EMPNO, ENNAME, SAL
  FROM EMP
 WHERE NOT (SAL > 1000);
 -- SAL이 1000 이하인 사원 정보 조회


SELECT EMPNO, ENNAME, SAL
  FROM EMP
 WHERE SAL NOT BETWEEN 1000 AND 2000;
 -- SAL이 1000 미만 2000 초과인 사원 정보 조회


SELECT EMPNO, ENNAME, SAL
  FROM EMP
 WHERE EMPNO NOT IN (10,20);
 -- EMPNO가 10, 20이 아닌 사원 정보 조회