DB(SQL)

[SQL] 연산자 - IS NULL, LIKE '패턴'

이나피스 2022. 3. 26. 16:23
반응형

IS NULL

값이 NULL인지 비교하여 조회

비교대상컬럼 IS NULL

비교대상컬럼 IS NOT NULL

IS NULL : 컬럼값이 NULL인 경우

IS NOT NULL : 컬럼값이 NULL이 아닐 경우

--보너스를 받지 않는 사원들(BONUS 컬럼값이 NULL) 사번, 이름, 급여, 보너스
SELECT EMP_ID, EMP_NAME, SALARY, BONUS
FROM EMPLOYEE
WHERE BONUS IS NULL;

--사수(MANAGER_ID)가 없고 부서배치를 받지 않은 직원들의 모든 컬럼 조회
SELECT *
FROM EMPLOYEE
WHERE MANAGER_ID IS NULL AND DEPT_CODE IS NULL;

--보너스는 받지만 부서배치는 받지 못한 직원들의 모든 컬럼 조회
SELECT *
FROM EMPLOYEE
WHERE BONUS IS NOT NULL AND DEPT_CODE IS NULL;

 

LIEK '패턴'

컬럼 값이 내가 패턴에 만족할 경우 조회

EX) 전씨 성을 가진 사람, 핸드폰번호 앞자리가 010으로 시작하는 번호 등

비교대상컬럼명 LIKE '특정패턴’

'%' : 0글자 이상

대상컬럼명 LIKE '문자%' -> 컬럼값 중에 '문자'로 시작하는 것을 조회

대상컬럼명 LIKE '%문자' -> 컬럼값 중에 '문자'로 끝나는 것을 조회

대상컬럼명 LIKE '%문자%' -> 컬럼값 중에 '문자'가 포함되는 것을 조회

'_' : 1글자

대상컬럼명 LIKE '_문자' -> 해당 컬럼값 중에 '문자' 앞에 무조건 1글자가 존재하는 경우 조회

대상컬럼명 LIKE '__문자' -> 해당 컬럼값 중에 '문자' 앞에 무조건 2글자가 존재하는 경우 조회

--성이 전씨인 사원들의 이름, 급여, 입사일 조회
SELECT EMP_NAME, SALARY, HIRE_DATE
FROM EMPLOYEE
WHERE EMP_NAME LIKE '전%';

--전화번호 4번째 자리가 9로 시작하는 사원들의 사번, 사원명, 전화번호, 이메일 조회
SELECT EMP_ID, PHONE, EMAIL
FROM EMPLOYEE
WHERE PHONE LIKE '___9%';

--이름중에 '하'가 포함된 사원들의 이름, 주민번호, 부서코드 조회
SELECT EMP_NAME, EMP_ID, JOB_CODE
FROM EMPLOYEE
WHERE EMP_NAME LIKE '%하%';

--이름이 '연'으로 끝나는 사원들의 이름, 입사일 조회
SELECT EMP_NAME, HIRE_DATE
FROM EMPLOYEE
WHERE EMP_NAME LIKE '%연';

--전화번호 처음 3글자가 010이 아닌 사원들의 이름, 전화번호 조회
SELECT EMP_NAME, PHONE
FROM EMPLOYEE
WHERE PHONE NOT LIKE '010%';

--DEPARTMENT 테이블에서 해외영업과 관련된 부서들의 모든 컬럼 조회 (DEPT_TITLE) 확인
SELECT *
FROM DEPARTMENT
WHERE DEPT_TITLE LIKE '%해외영업%';
반응형