Database/SQL
SQL (4) - WHERE 절
슬픈 야옹이
2023. 4. 12. 17:17
where 절은 테이블에서 특정 조건을 만족하는 레코드를 조회할 때 사용한다.
where절을 포함한 select문 양식은 다음과 같다.
select col, col2, ...
from 테이블
where 조건
order by ...
예제 1)
사원 중 급여가 4000이상인 사원의 명단을 출력
select eno 사번, ename 이름, sal 급여
from emp
where sal >= 4000;
예제 2)
부서번호가 10인 사원 검색
select eno 사번, ename 이름, dno 부서번호
from emp
where dno = '10';
단, dno는 문자열 타입이기 때문에 dno = '10' 과 같은 형태로 검색해야 한다.
다음과 같이 dno를 숫자로 검색해도 실행은 가능하나, 검색 대상 데이터가 많을 경우 심각한 성능 저하가 발생한다.
또한, 대량의 데이터를 다루는 데이터베이스 특성상 성능 저하는 반드시, 심각하게 일어난다고 보면 된다.
검색 대상 혹은 조건에 수식 또한 적용 가능하다.
예제 3)
연봉이 30000 이상인 사원을 검색한다.
SELECT eno 사번, ename 이름, sal*12+nvl(comm,0) 연봉
FROM emp
WHERE sal*12+nvl(comm,0) >= 30000;
+) 널에 대한 비교연산
NULL은 값이 아니므로 비교연산이 불가능하다.
해당 컬럼이 NULL인지 검색하려면 is NULL 을 이용한다.
예제 4)
보너스가 NULL인 사원을 검색한다.
SELECT * FROM emp
WHERE comm IS NULL;
com = NULL은 안먹는다.
주의할 점은, 오류가 안뜨고 그냥 결과가 없다고 뜬다.
조건식을 저렇게 적어놓고 결과가 없다고 착각하는 경우가 있으니 주의해야 한다.