제 5절. WHERE절
1. WHERE 조건절 개요
WHERE 절에는 2개 이상의 테이블에 대한 JOIN 조건을 기술하거나, 결과를 제한하기 위한 조건을 기술한다.
SELECT 칼럼명
FROM 테이블명
WHERE 조건식;
2. 연산자의 종류
비교연산자 : = (같다) <>, ^=, != (같지 않다), >, >=, <, <=
SQL 연산자 : BETWEEN A AND B, IN(list), IS NULL, LIKE '비교문자열'
논리 연산자 : AND, OR, NOT
부정 비교 연산자 : NOT 칼럼명 = (
와 같지 않다), NOT 칼럼명 > (보다 크지 않다)
연산자의 우선순위
- 괄호 ()
- 부정 연산자 (not)
- 비교 연산자 ( <, >, BETWEEN, IN (list)
- 논리 연산자 AND OR
3. 비교 연산자
비교 연산자 오른쪽에 문자열을 사용할 경우, 따옴표로 묶어서 처리해야 한다.
SELECT PLAYER_NAME 선수이름
FROM PLAYER
WHERE TEAM_ID = 'K02'
WHERE TEAM_ID = K02 와 같이 쓰면 에러가 난다.
CHAR, VARCHAR 데이터유형일 때 주의해야 한다.
문자 유형마다 '비교'연산이 다르다.
기본적으로 서로 다른 문자가 나올 때 까지 비교한다.
- CHAR 끼리 비교 : 길이가 다르면 짧은 쪽에 공백을 추가하여 길이를 같게 한 후 비교.
- 한 쪽이 VARCAHR 인 경우 비교 : 길이가 다르다면, 길이가 긴 쪽을 크다고 판단. 길이가 같고 다른 것이 없다면 같다고 판단.
- 문자를 상수와 비교 : 상수 쪽을 변수 쪽의 타입으로 바꾸고 비교
4. SQL 연산자
예약어로 된 연산자로서 모든 데이터 타입에 대한 연산이 가능하다.
- BETWEEN a AND b : a와 b 를 포함하는 범위인지 비교
- IN (list) : (list) 에 하나라도 속해 있다면 참이다.
- LIKE '비교문자열' : %와 _을 사용한 와일드카드로 비교문자열을 만든다
- IS NULL : NULL 값인지 비교한다. NULL 값과 비교하면 FALSE를 리턴한다.
NULL 값의 비교
- NULL 값은 비교 할 수 없으므로 비교 연산자를 쓰면 FALSE를 리턴한다.
- 수치 연산자와 연산해도 NULL 값을 리턴한다.
- NULL 값의 비교연산은 반드시 IS NULL, IS NOT NULL 문구로 연산한다.
와일드 카드의 종류
- % : 0개 이상의 어떤 문자
- _ : 1개인 단일 문자
728x90
'프로그래밍 > SQLD' 카테고리의 다른 글
SQL 기본 6 : GROUP BY, HAVING (0) | 2020.05.27 |
---|---|
SQL 기본 5 : 함수 (0) | 2020.05.27 |
SQL 기본 3 : TCL (0) | 2020.05.27 |
SQL 기본 2 : DML (0) | 2020.05.27 |
SQL 기본 1 : RDB 개요, DDL (0) | 2020.05.27 |