1. WHERE
조건절 개요
기본적인 SQL 문장은 (Oracle 경우엔) 필수적으로 SELECT
절과 FROM
절로 이뤄져 있음.
WHERE
절은 조회하려는 데이터에 특정 조건 부여 목적으로 사용되므로
FROM
절 뒤에 오게 됨.
1
2
3
SELECT [DISTINCT/ALL] 칼럼명 [ALIAS명]
FROM 테이블명
WHERE 조건식;
조건식의 구성
- 칼럼명
(보통 조건식 좌측에 위치)
- 비교 연산자
- 문자, 숫자, 표현식
(보통 조건식 우측에 위치)
- 비교 칼렴명
(JOIN
사용 시)
2. 연산자의 종류
구분 | 연산자 | 연산자 의미 |
비교 연산자 | = | |
> | ||
>= | ||
< | ||
<= |
구분 | 연산자 | 연산자 의미 |
비교 연산자 | BETWEEN a AND b | a 와 b 의 값 사이에 있으면 됨.a 와 b 도 포함. |
IN (list) | 리스트에 있는 값 중 어느 하라도 일치하면 됨. | |
LIKE '비교문자열' | 비교문자열과 형태가 일치하면 됨.% , _ | |
IS NULL | NULL 값인 경우 |
구분 | 연산자 | 연산자 의미 |
논리 연산자 | AND | |
OR | ||
NOT | ||
< | ||
<= |
구분 | 연산자 | 연산자 의미 |
논리 연산자 | != | |
^= | ||
<> | 같지 않다.(ISO 표준) | |
NOT 칼럼명 = | ||
NOT 칼럼명 > |
구분 | 연산자 | 연산자 의미 |
부정 SQL 연산자 | NOT BETWEEN a AND b | |
NOT IN (list) | ||
IS NOT NULL |
3. 비교 연산자
4. SQL 연산자
5. 논리 연산자
6. 부정 연산자
7. ROWNAM
, TOP
사용
7.1. ROWNUM
- SQL 처리 결과 집합의 각 row에 대해 임시로 부여되는 일련번호.
- 테이블이나 집합에서 원하는 만큼의 행만 가져오려 할때,
WHERE
절에서 행의 개수 제한 목적으로 사용.
1
SELECT PLAYER_NAME FROM PLAYER WHERE ROWNUM < 2;
1
SELECT PLAYER_NAME FROM PLAYER WHERE ROWNUM <= N;
1
2
UPDATE MY_TABLE
SET COLUMN1 = ROWNUM;
7.2. TOP
TOP
절 사용하여, 결과 집합으로 출력되는 행의 수 제한 가능.
1
TOP (Expression) [PERCENT] [WITH TIES]
- Expression
: 반환할 행의 수 지정하는 숫자
- PERCENT
: 쿼리 결과 집합에서 처음 Expression%의 행만 반환됨을 나타냄.
- WITH TIES
: ORDER BY
절 지정된 경우에만 사용 가능.
TOP
N(PERCENT)의 마지막 행과 같은 값 있는 경우
추가 행 출력되도록 지정 가능.