WHERE 개요
WHERE는 Oracle의 조건 조회 절로 데이터를 필터링하고 검색 조건에 만족하는 행만 반환합니다.
문법 순서 주의점:WHERE는 FROM 뒤에 오고 ORDER BY 앞에 작성합니다.
전체 문법
SELECT
column1,
column2,
...
FROM
tablename
WHERE
search_condition
ORDER BY
column1,
column2;
비교 연산자
| 연산자 | 설명 |
|---|---|
= | 같음 |
!= , <> | 다름 |
> | 보다 큼 |
< | 보다 작음 |
>= | 크거나 같음 |
<= | 작거나 같음 |
IN | 목록 중 임의 값과 일치 |
NOT IN | 목록의 값과 전부 불일치 |
[NOT] BETWEEN n AND m | 값 범위 포함 여부 확인 |
[NOT] EXISTS | 서브쿼리 반환 행 존재 여부 확인 |
IS [NOT] NULL | NULL 값 판단 |
코드 예시
동등 조회
SELECT
id,
name,
sex
FROM
student
WHERE
name = 'tom';Code language: JavaScript (javascript)
Oracle 실행 출력:
SQL> select * from student where name = 'tom';
ID NAME SEX
---------- ---------- ----
1 tom 남Code language: JavaScript (javascript)
숫자 비교, id가 20보다 클 때
SELECT
*
FROM
student
WHERE
id > 20;
논리합 OR
SQL> select * from student where id>1 or name = 'jim';
ID NAME SEX
---------- ---------- ----
2 jim 남
3 lisa 여Code language: JavaScript (javascript)
IN 집합 매칭
SELECT
*
FROM
student
WHERE
id IN(1,4)
ORDER BY
name;
실행 출력:
SQL> select * from student where id in(1,3);
ID NAME SEX
---------- ---------- ----
1 tom 남
3 lisa 여Code language: JavaScript (javascript)
LIKE 유사 조회
SELECT
*
FROM
student
WHERE
name LIKE 'l%'
ORDER BY
name;Code language: JavaScript (javascript)
%는 와일드카드 문자입니다.'l%'는 ‘l’로 시작하는 문자열을 매칭합니다.
중요 안내:
- 문자열 조건 값은 반드시 작은 따옴표로 감싸야 합니다. 예:
name = 'jim'. WHERE는ORDER BY앞에 위치하며 순서를 바꿀 수 없습니다.- 널 값 판단은
= NULL을 쓰지 말고IS NULL을 사용하세요.
WHERE 조건 조회
Previous: Distinct 중복 제거<
Next: FETCH