[Oracle][SQL] WHERE절과 연산자의 활용_3

Siyu·2024년 5월 23일
0

Oracle

목록 보기
7/8
post-thumbnail

저번 글에 이어서 WHERE절에 사용 할 수 있는 연산자들에 대해 알아보자 🤗

1. BETWEEN 'A' AND 'B'

일정한 데이터 사이에 있는 값을 조회하고 싶을 때 비교연산자를 쓰면 조회가 가능하다. 하지만 조건식이 길어지고 헷갈릴 우려가 있다. 여기서 사용 할 수 있는게 BETWEEN AND 연산자다. BETWEEN AND 연산자는 어떠한 데이터의 사이에 있는 값을 조회할 때 이용하면 더욱 간단하고 편리하게 사용 할 수 있다.

1) 예시

급여가 2000~3000인 사원 조회하기

BETWEEN AND식에 맞춰서 최솟값과 최대값을 넣어주면 된다.

  • 참고: 여기서 BETWEEN AND 앞에 논리부정 연산자(NOT)을 사용하면 반대값도 편하게 조회할 수 있다.

2. LIKE 연산자와 와일드 카드 😁

LIKE 연산자는 이메일, 메신저, 아이디 등 일부 문자열이 포함된 데이터를 조회 할 때 사용한다.
이때 같이 쓰일 수 있는 기호가 있는데 그것이 와일드 카드이다.

1) 와일드 카드의 종류

와일드카드의 종류는 다음과 같다

종류의미
_어떤 값이든 상관없이 한 개의 문자 데이터를 의미
%길이 상관없이 모든 문자 데이터를 의미

예시를 통해 와일드카드와 LIKE 연산자를 알아보자!

2) 예시

(1) 이름의 첫 글자가 'S'로 시작하는 사원 조회하기

S 뒤에 %를 사용하면 시작 S이고 뒤에 문자는 길이 상관없이 어떤 문자열이 오더라도 조회가 된다.

(2) 이름에 'L'이 포함되는 사원 조회하기

L 앞과 뒤에 %를 사용하면 길이 상관없이 L이 중간에 있는 형태의 사원 이름이 출력된다.

  • 참고: % 자체가 길이의 제한이 없기 때문에 L 문자열이 완전한 중앙에 위치 한 데이터만 출력되는 것이 아니라 L이 포함된 데이터가 모두 출력되는 것으로 볼 수 있다.

(3) 이름에 두번째 글자에 'A'가 들어가는 사원 조회하기

'_'를 사용하여 어떠한 하나의 문자데이터가 있음을 의미하게 된다. 그리고 따라 오는 두번째 글자가 A이고 그 뒤에 %를 지정하였기 때문에 A뒤에 어떤 문자열이 와도 상관없이 데이터가 출력되는 것을 알 수 있다.

3) 와일드 카드 문자가 데이터 일부일 경우

간혹가다 와일드 카드로 쓰이는 문자가 데이터의 일부일 경우가 있을 것이다.

이럴때는 ESCAPE절을 사용하면 _와%를 와일드 카드가 데이터로서 다루는 것이 가능하게 된다.
단순히 와일드 카드 앞에 임의로 지정한 문자를 붙여주고 ESCAPE절을 사용하면 된다.
와일드 카드 앞에 사용되는 문자는 어떤 문자가 오든 상관이 없으므로 임의로 지정하면 된다.

실무에서는 잘 쓰이지 않는 것 같다..🥲

3. NULL과 IS NULL 🤩

1) NULL이란?

NULL은 데이터베이스에서 나름 중요한 의미를 가지는 특수한 데이터 형식이다.
의미 자체는 데이터 값이 완전히 '비어있는' 상태를 말한다.
보통 데이터가 없다면 0의 값이라고 생각하기 쉽지만 숫자 0 자체는 값 0이 존재하는 것이므로 NULL과 동일하게 생각해서는 안된다.
즉, 현재 어떠한 값도 확정되지 않았거나, 값 자체가 존재하지 않는 상태의 데이터인 것이다.

2) IS NULL

특정 컬럼 또는 연산의 결과가 NULL인지를 확인하고 싶을 때 IS NULL을 사용한다.

(1) 예시

추가 수당이 NULL인 사원 조회하기

  • 참고: IS NULL 앞에 논리 부정 연산자(NOT)을 사용하면 NULL값이 아닌 데이터를 출력 할 수 있다.
profile
개발자 꿈나무

0개의 댓글