📍 IN 연산자
-- IN 연산자
SELECT EMPNO, ENAME, DEPTNO, SAL FROM EMP
WHERE DEPTNO IN (20, 30) /* (DEPTNO=20 OR DEPTNO=30) */
AND (SAL>=1100 AND SAL<=2500);
-- NOT IN
SELECT EMPNO, ENAME, DEPTNO, SAL FROM EMP
WHERE DEPTNO NOT IN (20, 30) /* NOT(DEPTNO=20 OR DEPTNO=30) */
AND (SAL>=1100 AND SAL<=2500);
📍 BETWEEN 연산자
-- BETWEEN 연산자
SELECT EMPNO, ENAME, DEPTNO, SAL FROM EMP
WHERE DEPTNO IN (20, 30)
AND SAL BETWEEN 1100 AND 2500; /* (SAL>=1100 AND SAL<=2500); */
-- NOT BETWEEN
SELECT EMPNO, ENAME, DEPTNO, SAL FROM EMP
WHERE DEPTNO IN (20, 30)
AND SAL NOT BETWEEN 1100 AND 2500; /* NOT (SAL>=1100 AND SAL<=2500); */
📍 LIKE 연산자
-- LIKE 연산자
-- _는 자리수를 표현
-- A로 시작하는 직원 정보
SELECT EMPNO, ENAME FROM EMP WHERE ENAME LIKE 'A%';
-- J로 시작하고 ES로 끝나는 직원 정보
SELECT EMPNO, ENAME FROM EMP WHERE ENAME LIKE 'J%ES';
-- 이름이 4글자인 직원 정보
SELECT EMPNO, ENAME FROM EMP WHERE ENAME LIKE '____';
-- 이름이 4글자고 D로 끝나는 직원 정보
SELECT EMPNO, ENAME FROM EMP WHERE ENAME LIKE '____D';
📍 IS NULL
/* WHERE 절에서의 NULL 처리 */
-- NULL과 어떤 비교 연산을 해도 모두 FALSE
-- NULL을 뽑아내는 법
SELECT EMPNO, ENAME, COMM FROM EMP WHERE COMM IS NULL;
SELECT EMPNO, ENAME, COMM FROM EMP WHERE COMM IS NOT NULL;
- 기출 문제에서는 IS NOT NULL 부분을 IS를 빼고 NOT NULL 로 헷갈리게 한다.
'✏️ SQLD' 카테고리의 다른 글
[SQLD] WHERE절과 HAVING절의 차이 (0) | 2025.03.01 |
---|---|
[SQLD] HAVING절 (0) | 2025.03.01 |
[SQLD] GROUP BY절, 집계함수, 제약사항 (0) | 2025.03.01 |
[SQLD] WHERE 절: 논리 연산자, 연산자 우선순위 (0) | 2025.02.28 |
[SQLD] 합성 연산자 (0) | 2025.02.28 |