반응형
1. 사용자들은 자신이 원하는 자료만을 검색하기 위해서 SQL 문장에 WHERE 절을 이용하여 자료들에 대하여 제한할 수 있다.
2. 두 개 이상의 테이블에 대한 INNER JOIN을 지원하는 다른 기능도 가지고 있다.
3. WHERE 절은 조회하려는 데이터에 특정 조건을 부여할 목적으로 사용하기 때문에 FROM 절 뒤에 오게 된다.
WHERE 절 사용법
SELECT [DISTINCT/ALL] 칼럼명 [ALIAS명]
FROM 테이블명
WHERE 조건식;
연산자 종류
구분 | 연산자 | 연산자의 의미 |
비교 연산자 |
= | 같다. |
> | 보다 크다. | |
>= | 보다 크거나 같다 | |
< | 보다작다 | |
<= | 보다 작거나 같다 | |
SQL 연산 |
BETWEEN a AND b | a와 b의 값 사이에 있으면 된다.(a와 b 값이 포함됨) |
IN (list) | 리스트에 있는 값 중에서 어느 하나라도 일치하면 된다. | |
LIKE '비교문자열' | 비교문자열과 형태가 일치하면 된다.(%, _ 사용) | |
IS NULL | NULL 값인 경우 | |
논리 연산자 |
AND | 앞에 있는 조건과 뒤에 오는 조건이 참(TRUE)이 되면 결과도 참(TRUE)이 된다 즉 앞의 조건과 뒤의 조건을 동시에 만족해 논리 연산자 AND 참(TRUE)이 된다. 즉, 앞의 조건과 뒤의 조건을 동시에 만족해 야 한다. |
OR | 앞의 조건이 참(TRUE)이거나 뒤의 조건이 참(TRUE)이 되어야 결과도 참(TRUE)이 된다. 즉, 앞뒤의 조건 중 하나만 참(TRUE) 이면 된다. |
|
NOT | 뒤에 오는 조건에 반대되는 결과를 되돌려 준다. | |
부정 비교 연산자 |
!= | 같지 않다. |
^= | 같지 않다. | |
<> | 같지 않다. (ISO 표준, 모든 운영체제에서 사용 가능) | |
NOT 칼럼명 = | ~와 같지 않다 | |
NOT 칼럼명 > | ~보다 크지 않다. | |
부정 SQL 연산자 |
NOT BETWEEN a AND b |
a와 b의 값 사이에 있지 않다. (a, b 값을 포함하지 않는다) a보다 작거나 b보다 크거나 조건으로 바꿀 수 있다. |
NOT IN (list) | list 값과 일치하지 않는다. | |
IS NOT NULL | NULL 값을 갖지 않는다 |
연산자 우선 순위
연산 우선 순위 | 설명 |
1 | 괄호 () |
2 | NOT 연산자 |
3 | 비교 연산자, SQL 비교 연산자 |
4 | AND |
5 | OR |
실수하기 쉬운 비교 연산자와 논리 연산자의 경우 괄호를 사용해서 우선 순위를 표시하는 것을 권고한다.
WHERE 조건 - LIKE
와일드 카드의 종류
와일드 카드 | 설명 |
% | 0개 이상의 어떤 문자를 의미한다. |
_ | 1개인 단일 문자를 의미한다. |
WHERE 조건 – IS NULL
1. NULL : 아직 정의되지않은 미지의 값, 또는 현재 알수 없는 값
2. ' '(공백, ASCII 32) , ASCII 32)이나 0(Zero, ASCII 48) 0(Zero, ASCII 48)와는 다른 값이다.
3. NULL 값과의 수치연산은 NULL 값을 리턴한다.
4. NULL 값과의 비교연산은 거짓( ) FALSE 를 리턴한다.
cf) 오라클의 경우 문법적으로 ‘= NULL’ 조건에서 오류가 발생하지는 않지만, 데이터는 1건도 검색되지 않는다.
5. NULL 값의 비교 연산은 IS NULL(값이 없는), IS NOT NULL (값이 있는)이라는 정해진 문구를 사용해야 제대로 된 결과를 얻을 수 있다. (ANSI 기준)
ㅇ
출처 : 한국데이터베이스 진흥
반응형
'DB' 카테고리의 다른 글
[SQL] GROUP BY절, HAVING 절 (0) | 2023.03.23 |
---|---|
[SQL] COUNT(카운트) (0) | 2023.03.21 |
[SQL] 오라클 정렬 sort (order by 절 사용법) (0) | 2023.03.14 |
[SQL 기본] 관계형 데이터베이스 개요 (0) | 2023.03.09 |
[sqld] DML SELECT(데이터 조회) 구조 (0) | 2023.02.27 |