제 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 칼럼명 > (보다 크지 않다)

연산자의 우선순위

  1. 괄호 ()
  2. 부정 연산자 (not)
  3. 비교 연산자 ( <, >, BETWEEN, IN (list)
  4. 논리 연산자 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

+ Recent posts