WHERE
: 원하는 열들을 검색, 필터링해서 출력
-- DEPTNO가 20인 직원 정보
SELECT EMPNO, ENAME, DEPTNO, SAL FROM EMP WHERE DEPTNO=20;
-- DEPTNO가 20이 "아닌" 직원 정보
SELECT EMPNO, ENAME, DEPTNO, SAL FROM EMP WHERE DEPTNO<>20;
-- <>의 대체: !=, ^=
-- 논리 연산자
-- 부서번호가 20"이거나" 30인 직원 정보
SELECT EMPNO, ENAME, DEPTNO, SAL FROM EMP
WHERE DEPTNO=20 OR DEPTNO=30;
✒️ 연산자 우선순위
1️⃣ ()
2️⃣ 비교연산자 SQL 연산자
3️⃣ NOT
4️⃣ AND
5️⃣ OR
-- 부서번호가 20이거나 30이면서 SAL이 1100 이상인 직원 정보
SELECT EMPNO, ENAME, DEPTNO, SAL FROM EMP
WHERE DEPTNO=20 OR DEPTNO=30 AND SAL>=1100;
-- AND로 인해 DEPTNO=30 AND SAL>=1100; 가 먼저 연산되어 SAL: 800이 포함되어 있다.
-- 원하는 대로 출력하려면
SELECT EMPNO, ENAME, DEPTNO, SAL FROM EMP
WHERE (DEPTNO=20 OR DEPTNO=30) AND SAL>=1100;
-- 부서번호가 20이거나 30이면서 SAL이 1100 이상이고 2500이하인 직원 정보
SELECT EMPNO, ENAME, DEPTNO, SAL FROM EMP
WHERE (DEPTNO=20 OR DEPTNO=30)
AND (SAL>=1100 AND SAL<=2500);
'✏️ SQLD' 카테고리의 다른 글
[SQLD] WHERE절과 HAVING절의 차이 (0) | 2025.03.01 |
---|---|
[SQLD] HAVING절 (0) | 2025.03.01 |
[SQLD] GROUP BY절, 집계함수, 제약사항 (0) | 2025.03.01 |
[SQLD] WHERE 절: IN, BETWEEN, LIKE, IS NULL (0) | 2025.03.01 |
[SQLD] 합성 연산자 (0) | 2025.02.28 |