01. WHERE절
- 사용: 테이블의 데이터 중 원하는 조건에 맞는 데이터만 조회하고 싶을 경우
- 엑셀의 필터
- 여러 조건 동시 전달 가능
- AND와 OR
- NULL 조회 방법
- 연산자로 조회 불가
- NULL인 경우: IS NULL
- NULL이 아닌 경우: IS NOT NULL
- 연산자를 사용하여 다양한 표현 가능
- 조건 전달 시 비교 대상의 데이터타입 일치하는 것이 좋음 (성능 문제)
연산자 종류 | 설명 |
= | 같은 조건 검색 |
!=, <> | 같지 않은 조건 검색 |
> | 큰 조건 검색 (초과) |
>= | 크거나 같은 조건 검색 (이상) |
< | 작은 조건 검색 (미만) |
<= | 작거나 같은 조건 검색 (이하) |
BETWEEN a AND b | a 이상 b 이하 사이의 범위 값을 모두 검색 |
IN(a, b, c) | a이거나, b이거나, c인 조건 검색 |
LIKE | 특정 패턴을 가진 조건을 검색 |
IS NULL / IS NOT NULL | NULL값을 검색 / NULL이 아닌 값을 검색 |
A AND B | A 조건과 B조건 모두 만족해야 검색 |
A OR B | A 조건 또는 B조건 중 한가지라도 만족하면 검색 |
NOT A | A 조건이 아닌 경우 검색 |
* 문자나 날자 상수 표현: 반드시 홑따옴표 사용(')
* ORACLE: 문자 상수의 경우, 대소문자 구분 O
* SQL Server: (기본) 문자 상수의 대소문자 구분 X
02. IN 연산자
- 포함 연산자
- 여러 상수와 일치하는 조건 전달 시 사용
- 상수를 괄호()로 묶어서 동시에 전달(문자와 날짜 상수의 경우: 반드시 홑따옴표 포함)
- OR을 이용해서 조건을 나열한 것과 같음
SELECT name, age, cal, address
FROM ex
WHERE name = 'name1' OR name = 'name2' OR name = 'name3'; --OR을 이용한 검색: 불편
SELECT name, age, cal, address
FROM ex
WHERE name IN ('name1', 'name2', 'name3'); --IN을 이용한 검색: 반복을 줄임
03. BETWEEN A AND B 연산자
- A <= Target <= B 범위 내에 있는 조건을 만족
- A, B: 범위로 묶을 수 있는 상수값 전달 (문자, 숫자, 날짜 가능)
- 반드시 A < B
- AND를 이용해서 조건을 나열한 것과 같음
SELECT name, age, cal, address
FROM ex
WHERE age >= 20 AND age <= 30; --age가 반복됨
SELECT name, age, cal, address
FROM ex
WHERE age BETWEEN 20 AND 30; --age 반복 사용 해결
04. LIKE 연산자
- 정확하게 일치하지 않아도 패턴 조건 전달 시 사용
- 사용 방법
- %: 자리수 제한 없는 모든 자리라는 의미
- _: _하나 당 한 자리수 의미하며 모든 값을 표현
05. NOT 연산자
- 조건 결과의 반대집합
- 여집합을 출력하는 연산자
- NOT 뒤에 오는 연산 결과의 반대 집합 출력
- 주로 사용
- NOT IN: IN 안에 포함되지 않음
- NOT BETWEEN A AND B: A와 B사이의 값이 아님
- NOT LIKE: 조건이 충족되지 않음
- NOT NULL: 비어있지 않음
'SQL' 카테고리의 다른 글
[SQL] ORDER BY 절 (0) | 2025.02.14 |
---|---|
[SQL] GROUP BY 절, HAVING 절 (0) | 2025.02.14 |
[SQL] SQL 함수 (1) | 2025.02.13 |
[SQL] DQL (Data Query Language) (0) | 2025.02.13 |
[SQL] SQL 명령어 (1) | 2025.02.13 |