DevOps:leehi9817

데이터 검색(BETWEEN, IN, IS NULL) 본문

백엔드 개발/SQL

데이터 검색(BETWEEN, IN, IS NULL)

leehi9817 2021. 12. 8. 22:52

BETWEEN 연산자

검색 조건의 상한과 하한을 지정함

#속성이 a 이상 b 이하
속성명 BETWEEN a AND b

예시) 사원 테이블(EMPLOYEE)에서 봉급(SALARY)이 400보다 크거나 같고 600보다는 작거나 같은 사원들의 정보를 검색

SELECT *
FROM EMPLOYEE
WHERE SALARY BETWEEN 400 AND 600

 

IN 연산자

속성값이 a, b, c, ... 중 하나라도 일치하면 참

속성명 IN (a, b, c)

예시) 직급(JOB)이 'section'이거나 'senior'인 사원들의 이름과 직급 검색

SELECT ENAME, JOB
FROM EMPLOYEE
WHERE JOB IN ('section', 'senior')

 

IS NULL 연산자

테이블에서 속성값이 NULL인 튜플들이 있을 경우 해당 튜플들을 보여줌

NULL은 어떤 비교를 하든 거짓이기 때문에 "속성명 = NULL"과 같은 식이 성립하지 않음

정확한 결과를 얻기 위해서는 IS NULL 연산자를 사용해야함

SELECT *
FROM 테이블명
WHERE 속성명 IS NULL

NULL 값이 아닌 튜플들을 검색하려면 IS NOT NULL을 사용함

SELECT *
FROM 테이블명
WHERE 속성명 IS NOT NULL

예시) 사원 테이블(EMPLOYEE)에서 부서 번호(DNO) 값이 NULL인 튜플들과 사원 번호(ENO) 값이 NULL이 아닌 튜플들을 검색

#DNO가 NULL인 튜플 검색
SELECT *
FROM EMPLOYEE
WHERE DNO IS NULL

#ENO가 NULL이 아닌 튜플 검색
SELECT *
FROM EMPLOYEE
WHERE ENO IS NOT NULL
Comments