크리스의 개발일기

[SQL] where 조건(AND, OR, NOT, LIKE) 본문

Database/SQL

[SQL] where 조건(AND, OR, NOT, LIKE)

ChrisJang 2020. 11. 10. 11:29

WHERE

- SELECT * FROM 절만 이용시 조건 검색에 보다 자세한 조건 검색에 있어 한계가 많다.

- 이런점을 극복하기 위해 WHERE 을 이용할 수 있다.  

 

 

연산자 

사용 예 

비교

  = , <> , < , <= , > , >=

price < 20000 

범위 

 BETWEEN 

 price BETWEEN 5000 AND 10000

집합

IN, NOT IN 

price IN (5000, 10000, 15000) 

패턴 

LIKE 

name LIKE = '%길동%' 

NULL 

IS NULL , IS NOT NULL 

price IS NULL 

복합조건 

AND , OR , NOT 

(price < 10000)  AND (name LIKE = '%길동%')

 

비교  연산자 :   

= ( 같은지 비교 ) ,

<> ( 같지 않다 ) ,

< ( 좌변이 우변보다 작을경우 true ) ,

<= ( 좌변이 우변보다 작거나 같을경우 true ),

> ( 좌변이 우변보다 클경우 true ) ,

>= ( 좌변이 우변보다 크거나 같을경우 true )

 

 

SQL 연산자 :

- BETWEEN ( 해당 COLUMN BETWEEN 값1 AND 값2  :  값1이상 ~ 값2이하 사이의 값들을 검색한다. ) 

- IN(a, b, c, .......) : List 중 어느 값이라도 일치 할때

- LIKE : 밑에 패턴 참고

- IS NULL            // NULL인 데이터 갖는 행(row)를 가져온다.

 

 

패턴 : 

WHERE 조건column LIKE '최%';    //'최'로 시작하는 문자를가진 행(row)을 검색한다

WHERE 조건column LIKE '%진';    //'진'으로 끝나는 문자를가진 행(row)을 검색한다

WHERE 조건column LIKE '%윤%';  //'윤'이 포함된 문자를가진 행(row)을 검색한다

WHERE 조건column LIKE '_윤%';   //두번째 글자가 '윤'으로 시작하는 문자를 가진 행(row)을 검색한다.

WHERE 조건column LIKE '최%진';  // '최' 로시작해서 '진'으로 끝나는 문자를 가진 행(row)을 검색한다.


부정연산자 : 

- NOT IN (조건 값) - 조건값들을 제외한 행(row)들을 검색한다.

- IS NOT NULL     // NULL이 아닌 데이터를 갖는 행(row)을 가져온다.

 

 

논리 연산자 : 

AND : 좌변도 참이고 우변도 참이면 그 조건에 해당하는 행(row)를 가져온다. 

OR : 좌변 또는 우변이 참이면 그에 해당하는 행(row)를 가져온다.

NOT : NOT은 예제로 보는게 편할거 같아서 예제로 표현했습니다

 

NOT Ex) WHERE NOT country = 'USA' -  USA가 아닌 문자를 가진 행(row)를 가져온다.



출처: https://zzdd1558.tistory.com/90 [윤들윤들]

Comments