반응형
= 연산자 : 하나의 값만 검색 가능
IN 연산자 : 여러 개의 값 검색 가능
문제 53. 사원번호가 7788번인 사원의 사원번호와 이름을 출력하시오.
SELECT empno, ename
FROM emp
WHERE empno = 7788;
문제 54. 사원번호가 7788, 7902,7369번인 사원의 사원번호와 이름을 출력하시오.
SELECT empno, ename
FROM emp
WHERE empno IN (7788, 7902, 7369);
= 연산자는 하나의 값만 비교할 수 있으므로 IN을 사용해야 한다.
문제 55. 직업이 SALESMAN, ANALYST인 사원들의 이름, 월급, 직업을 출력하시오.
SELECT ename, sal, job
FROM emp
WHERE job IN('SALESMAN', 'ANALYST');
직업컬럼에 기입된 데이터는 문자열이므로 검색 조건을 작은따옴표('')로 감싸주어야 한다.
문제 56. 직업이 SALESMAN, ANALYST가 아닌 사원들의 이름, 월급, 직업을 출력하시오.
SELECT ename, sal, job
FROM emp
WHERE job NOT IN('SALESMAN', 'ANALYST');
* 참고
WHERE NOT job IN('SALESMAN', 'ANALYST');
다음과 같이 not의 위치를 바꿔도 자동으로 rewrite 해주어 출력 결과는 동일하다.
하지만 권장X. 추가적인 작업을 하게 되므로 작업속도에 영향을 미친다.
(현재 연습하는 테이블의 데이터가 적으므로 티가 나지 않지만 데이터의 개수가 많으면 주의해야 할 사항)
'Oracle DBA > SQL' 카테고리의 다른 글
20230622 (4) SQL 016 : 함수, 대소문자 변환 함수 (0) | 2023.06.22 |
---|---|
20230622 (3) SQL 015 : 논리연산자(AND, OR) (0) | 2023.06.22 |
20230622 (1) SQL 013 : 비교 연산자 4 (IS NULL) (0) | 2023.06.22 |
20230621 (7) SQL 012 : 비교 연산자 3 (LIKE) (0) | 2023.06.21 |
20230621 (6) SQL 011 : 비교 연산자 2 (BETWEEN AND) (0) | 2023.06.21 |