핵심포인트
•
왜 조건절이 필요할까? : 우리가 데이터를 활용하기 위해 조회할 때, 모든 데이터를 다 가져와서 사용하진 않는다. 수 많은 데이터중에 요구사항에 맞는 정보를 얻기 위해 가공이 필요할 것이다. 이때 필요한 구문이 조건절이다. = 필터링기능
•
조건절은 다양한 연산자를 작성하여 표현한다.
•
조건식절 종류에는 WHERE 과 LIKE 가 있고 둘 다 결과를 True/False를 반환하는 조건절 구문이고, LIKE는 키워드와 패턴을 이용하고, WHERE은 정확한 값 기준으로 필터링한다.
WHERE
기본문법
// MEMBER 테이블에서 ID가 4인 행을 다 (*) 가져와라.
SELECT * FROM MEMBER WHERE M_ID = 4;
SQL
복사
연산자 활용
조건절에서 사용하는 우리가 아는 기본 연산자 ( >, <, = , ≠ ) 외에도 sql만의 연산자가 있습니다. 그에 대해 알아보겠습니다.
column BETWEEN a AND b
•
특정 칼럼(열)의 값이 a 이상 b 이하에 있는 값이면 TRUE
SELECT * FROM MEMBER
WHERE M_CREATED_DATETIME BETWEEN '2030-02-02 00:00' AND '2030-02-03 00:00';
SQL
복사
IS NULL / IS NOT NULL
•
특정 칼럼에 NULL값의 존재여부 확인
•
이때, 0이나 ‘ ‘ 같은 공백은 NULL이 아니다. NULL은 오직 정의되지 않은 값(빈칸)을 가르킨다.
SELECT * FROM BOARD
WHERE M-_ID IS NULL
SELECT * FROM BOARD
WHERE M-_ID IS NOT NULL
SQL
복사
LIKE
정확한 값을 기준으로 필터링하는 방법이 아닌 특정한 패턴에 일치하는 데이터를 필터링하기 위해서 사용한다.
기본문법
SELECT 칼럼, … FROM 테이블 이름 WHERE 칼럼 LIKE 패턴;
SELECT * FROM MEMBER WHERE M_NAME LIKE '김%';
SQL
복사
와일드카드 ( = 패턴표현법)
%
•
모든 문자, 문자열 또는 아무것도 없는 (’ ‘) 것을 의미한다.
%안녕%
이는 안녕이란 단어가 변형되지 않는 이상, 안녕이란 단어가 들어 가 있는 데이터를 모두 찾을 수 있다.
안녕%
안녕으로 시작하는 문장의 데이터만 가져온다
%안녕
안녕으로 끝나는 문장의 데이터만 가져온다.
%안녕%
안 녕 (false)
SQL
복사
_ ( 언더스코어 )
•
모든 ‘문자(공백포함)’만을 의미하며, 하나의 문자를 의미한다.
_박_
김박수(TRUE) 김박(FALSE) 박수(FALSE) ' 박 '(TRUE)
자__ (언더바 두개)
자바(FALSE) 자바짱(TRUE)
SQL
복사
•
%와 _는 섞어서 쓸 수도 있다.