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보다도 작아야 함