SQL연산자는 비교 연산자보다 확장된 연산자로 사용 빈도가 매우 높은 연산자라고 할 수 있으며 BETWEEN, IN, LIKE, IS NULL이 여기에 해당합니다.
BETWEEN A AND B
두 값의 범위에 해당하는 행 출력을 위해 사용합니다.
SELECT *
FROM employees
WHERE salary BETWEEN 10000 AND 15000;
salary 값이 10000에서 15000 사이만 가져오고 싶은 경우 위와 같은 쿼리를 이용해서 데이터를 조회할 수 있습니다. BETWEEN 구문은 비교연산자인 부등호(>=)를 두 개로 나눠서 사용하는 것과 동일한 결과를 가져올 수 있습니다.
IN (list)
조회하려고 하는 데이터 조건 값이 여러개 인 경우 사용합니다. 하나의 컬럼에 대해서 여러개의 값에 해당하는 데이터를 한 번에 가져오고 싶을 때 사용합니다.
SELECT *
FROM employees
WHERE salary IN (10000, 12000, 17000);
salary 값이 10000, 12000, 17000에 해당하는 데이터만 가져온 것을 확인할 수 있습니다.
LIKE
LIKE는 조회 조건 값의 일부를 활용하여 조회하고 싶을 때 사용합니다.
LIKE에서는 %와 _와 같은 기호 연산자를 함께 사용합니다.
%는 '모든 문자'라는 의미이고, _는 '한 글자' 라는 의미 입니다.
예를 들어, LIKE '%AB%' 로 검색할 경우 'AB'라는 단어가 들어간 모든 정보를 검색하게 됩니다. 그리고 'AB' 단어 앞 뒤로는 어떤 단어가 오더라도 상관 없습니다.
반면 LIKE 'AB%' 조건으로 검색한다면 'AB'로 시작하는 데이터를 조건으로 검색하며, LIKE '%AB' 조건으로 검색한다면 'AB'로 끝나는 데이터를 조건으로 검색하게 됩니다.
또한 LIKE 'AB_' 조건으로 검색한다면 'AB'로 시작하면서 뒤에 1글자만 더 오는 경우, LIKE 'AB__' 조건으로 검색한다면 'AB'로 시작하면서 뒤에 2글자가 더 오는 경우 등으로 조건을 확장할 수 있습니다.
SELECT *
FROM employees
WHERE job_id LIKE 'SA%';
위와 같이 조회할 경우 job_id가 SA'로 시작하는 값들을 모두 불러온 것을 확인할 수 있습니다.
IS NULL
IS NULL은 데이터 값이 null 인 데이터를 조회하려고 할 때 사용합니다. null은 데이터 값이 정의되지 않은 값으로 0 또는 공백 데이터와는 다른 값인 '존재하지 않는 값' 이라고 할 수 있습니다.
SELECT *
FROM employees
WHERE manager_id IS NULL;
manager_id 컬럼에 해당하는 값이 존재하지 않는 데이터를 조회해본 결과는 위와 같습니다. 추가적으로 null이 아닌 값들만을 조회하고 싶다면 NULL 앞에 NOT을 붙인 IS NOT NULL을 사용할 수 있습니다.
'코딩 노트 > Oracle SQL' 카테고리의 다른 글
[Oracle SQL] 논리 연산자를 사용한 조건 논리 연결하기 (1) | 2022.02.15 |
---|---|
[Oracle SQL] 비교 연산자를 사용한 비교 조회하기 (1) | 2022.02.13 |
[Oracle SQL] 산술 연산자 사용하여 데이터 값끼리 계산하기 (1) | 2022.02.12 |
[Oracle SQL] 연결 연산자 사용하여 데이터 값 연결하기 (1) | 2021.11.30 |
[Oracle SQL] DISTINCT (데이터 중복 제거하기) (1) | 2021.11.22 |
댓글