빅데이터/Oracle SQL | Do it! 오라클로 배우는 데이터베이스 입문

WHERE절과 연산자 | LIKE 연산자와 와일드카드 / IS NULL

KimKelly 2023. 2. 9. 09:04
반응형

05. WHERE절과 연산자

05-3. 연산자 종류와 활용 방법

[LIKE 연산자와 와일드 카드]

일부 문자열이 포함된 데이터를 조회할 때 사용

종류 의미
_ 어떤 값이든 상관없이 한 개의 문자 데이터를 의미
% 길이와 상관없이(문자 없는 경우도 포함) 모든 문자 데이터를 의미


- 사원 이름이 S로 시작하는 사원만 출력하기


- 사원 이름의 두 번째 글자가 L인 사원만 출력하기


- 사원 이름에 AM이 포함되어 있는 사원 데이터만 출력하기


- 사원 이름에 AM이 포함되어 있지 않은 사원 데이터 출력하기


*와일드 카드 문자가 데이터 일부일 경우: ESCAPE절 사용
예) 'A_A' 문자로 시작하는 데이터를 찾을 경우, 아래와 같이 SQL문을 작성함.

SELECT * FROM SOME_TABLE
 WHERE SOME_COLUMN LIKE 'A₩_A%' ESCAPE '₩';

(실무에서 많이 쓰이지는 않음)

[IS NULL 연산자]

- NULL: 데이터 값이 완전히 비어있는 상태

의미
값이 존재하지 않음 통장을 개설한 적 없는 은행 고객의 계좌 번호
해당 사항 없음 미혼인 고객의 결혼기념일
노출할 수 없는 값 고객 비밀번호 찾기 같은 열람을 제한해야 하는 특정 개인 정보
확정되지 않은 값 미성년자의 출신 대학

- NULL 값은 산술 연산자와 비교 연산자로 비교해도 결과 값이 NULL이 됨. 무한대 또는 물음표와 같은 의미로 이해하기.


- 특정 열 또는 연산의 결과 값이 NULL인지 여부 확인 시, IS NULL 또는 IS NOT NULL 사용

IS NULL
IS NOT NULL

- IS NULL 연산자와 AND/OR 연산자의 관계
AND/OR 연산자가 적용되는 데이터 중 한쪽 데이터 값이 NULL일 경우,

AND 연산자는 양쪽 항목이 모두 true일 경우에만 결과가 출력되므로, 결과가 출력되지 않음.

SAL > NULL 조건의 결과 값은 NULL 이지만, OR 연산자는 한 항목이라도 true이면 출력 대상에 포함되므로 NULL값을 가진 COMM 열의 데이터들이 출력됨.

반응형