본문 바로가기
STUDY/MySQL

MYSQL] 쿼리문 분석 3 - WHERE

by ●◇● 2022. 9. 22.
반응형

 

SELECT 컬럼명 FROM 테이블명 WHERE 조건 ;
> SELECT 가져온다 / 무엇(컬럼명)을 / FROM 어디(테이블명)에서 / WHERE 조건을 붙여서

 

SELECT customer_name FROM customer WHERE membertype_id = 2;
> customer_name을 가져와라, customer 테이블에서, membertype_id가 2인 데이터만. 
SELECT customer_name FROM customer WHERE membertype_id <> 1;
> customer_name을 가져와라, customer 테이블에서, membertype_id가 1인 아닌 데이터만.

 

 

NULL  어떤 데이터도 가지지 않는 상태 (무기입)
' '  길이가 0인 문자열, 공백

SELECT customer_id FROM customer WHERE birthday IS NULL;
> birthday가 NULL인 값만 나와라 : customer_id 6, 7

SELECT customer_id FROM customer WHERE customer_name = '';
> customer_name이 공백인 값만 나와라 : customer_id 6

 

 

SELECTFROM product WHERE product_name = '약용 입욕제';
> product_name이 '약용 입욕제'인 레코드를 가져와라

*문자열은 대소문자를 구별하지 않는다.  ex) 'a'와 'A'가 같음
*끝의 공백은 무시된다. ex) 'A'와 'A  '가 같음

 

 

SELECT * FROM simple WHERE val = BINARY 'A';
> 문자열을 정확하게 찾으려면!! 문자열 앞에 BINARY를 붙이자

3은 'A  '라 BINARY에 안 걸린다

 

일부분만 일치시키고 싶다? 일치하지 않았으면 한다?
a LIKE b : a는 b에 일치한다.
a NOT LIKE b : a는 b에 일치하지 않는다.

SQL에서의 와일드 카드는 %이다. (임의의 0개 이상의 문자)
만약 %를 문자로 사용하고 싶다면 앞에 \를 붙인다.  ex) '비누딸기 100\%'

SELECT * FROM product WHERE product_name LIKE '약용%';
> '약용~' 문자가 들어간 product_name을 불러와라

 

반응형