DB(SQL)
[SQL] 연산자 - IN, BETWEEN AND
이나피스
2022. 3. 26. 17:07
반응형
IN
비교대상컬럼 값에 제시한 값 중 일치하는 값이 있는지 판단
비교대상컬럼 IN(값, 값, 값, ...)
--부서코드가 D6이거나 또는 B8이거나 또는 D5인 사원들의 이름 부서코드 급여 조회
SELECT EMP_NAME, DEPT_CODE, SALARY
FROM EMPLOYEE
WHERE DEPT_CODE='D6' OR DEPT_CODE='D8' OR DEPT_CODE='D5';
SELECT EMP_NAME, DEPT_CODE, SALARY
FROM EMPLOYEE
WHERE DEPT_CODE IN('D6','D8','D5');
--직급코드가 J1 또는 J3 또는 J4인 사원들의 모든 컬럼 조회
SELECT *
FROM EMPLOYEE
WHERE JOB_CODE IN('J1','J3','J4');
--그 외의 사원들 조회
SELECT *
FROM EMPLOYEE
WHERE JOB_CODE NOT IN('J1','J3','J4');
BETWEEN AND
범위에 대한 조건 제시 시 사용
비교대상컬럼명 BETWEEN 시작값 AND 끝값
--급여가 350만원 이상이고 600만원 이하인 사원들의 이름, 사번, 급여, 직급코드 조회
SELECT EMP_NAME, EMP_ID, SALARY, JOB_CODE
FROM EMPLOYEE
WHERE SALARY BETWEEN 3500000 AND 6000000;
--급여가 350만원 미만이고 600만원 초과인 사람들의 이름, 사번, 급여, 직급코드 조회
SELECT EMP_NAME, EMP_ID, SALARY, JOB_CODE
FROM EMPLOYEE
WHERE SALARY NOT BETWEEN 3500000 AND 6000000;
--오라클의 !연산자는 NOT으로 작성(논리부정)
--입사일이 '90/01/01' ~ '03/01/01'인 사원의 모든 컬럼 조회
SELECT *
FROM EMPLOYEE
WHERE HIRE_DATE BETWEEN '90/01/01' AND '03/01/01';
--입사일이 위의 조건이 아닌 사원들의 모든 컬럼 조회
SELECT *
FROM EMPLOYEE
WHERE HIRE_DATE NOT BETWEEN '90/01/01' AND '03/01/01';
반응형