[SQL] where 조건(AND, OR, NOT, LIKE)
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 [윤들윤들]