SQL에서만 쓰는 연산자들이 있음
아래 두 문장은 같다
WHERE DEPTNO=10 OR DEPTNO=30;
WHERE DEPTNO IN(10,30);
예시) 조건절
WHERE ENAME LIKE '%A%';
-- A를 포함하는 이름
WHERE ENAME LIKE 'A%';
-- A로 시작하는 이름
WHERE ENAME LIKE '%A';
-- A로 끝나는 이름
WHERE ENAME LIKE '_A%';
-- 두번째 글자가 A인 이름
WHERE ENAME NOT LIKE '%A%';
--A를 포함하지 않는 이름
예시)
SELECT ENAME, SAL, DEPTNO||'번 부서' FROM EMP;
출력> 20번 부서 등...
SELECT ENAME||' 사원의 부서는 '||DEPTNO||'입니다.' FROM EMP;
출력> NOLJIS 사원의 부서는 20입니다. 등...
IS NULL
-- NULL임NOT NULL
-- NULL이 아님SELECT * FROM EMP WHERE COMM IS NOT NULL;
-- 전체 테이블에서 COMM컬럼이 NULL인 ROW만 출력예시)
SELECT EMPNO, ENAME, SAL FROM EMP WHERE SAL BETWEEN 1000 AND 3000;
--WHERE SAL>=1000 AND SAL <=3000; 과 같음
아래 두 SELECT문은 같은 결과를 출력함
SELECT EMPNO, DEPTNO, SAL FROM EMP WHERE DEPTNO IN (10,30);
SELECT EMPNO, DEPTNO, SAL FROM EMP WHERE DEPTNO=ANY(10,30);
IN과 비슷하나 비교연산자로 크거나 작은 경우도 조건이 될 수 있음
SELECT EMPNO, DEPTNO, SAL FROM EMP WHERE DEPTNO<ANY(10,30);
=>DEPTNO이 20보다 작거나 30보다 작음
SELECT EMPNO, DEPTNO, SAL FROM EMP WHERE DEPTNO<ALL(20,30);
=>DEPTNO이 20보다도 작고, 30보다도 작아야 함