2021-11-30 20:42 작성
My SQL basic 메모
Table of contents
IN 연산자
IN
연산자는 임의의 값이 list의 값들과 매칭되는지를 확인한다.
value
값이NULL
일 경우 결과값은NULL
을 반환한다.value
값이 list의 어떤 값과도 일치하지 않고, list에NULL
이 존재하는 경우NULL
을 반환한다.
value IN (value1, value2, value3,...)
위의 식에서 value
가 IN
이하의 값들 중 어느 하나와 매칭되는 경우 1(true)을 반환하고 그렇지 않으면 0(false)을 반환한다.
SELECT 2 IN (1, 2, 3);
output: 2의 값이 list 중 하나에 속하므로 true인 1일 반환한다.
2 IN (1,2,3) |
---|
1 |
SELECT
officeCode,
city,
phone,
country
FROM
offices
WHERE
country IN ('USA' , 'France');
output: country = 'USA' OR country = 'France'
과 동일한 결과를 반환한다.
officeCode | city | phone | country |
---|---|---|---|
1 | San Francisco | +1 650 219 4782 | USA |
2 | Boston | +1 215 837 0825 | USA |
3 | NYC | +1 212 555 3000 | USA |
4 | Paris | +33 14 723 4404 | France |
NOT IN 연산자
NOT IN
연산자는 임의의 값이 list의 어떤 값들 과도 일치하지 않을 때 어느 하나를 반환하고 그렇지 않으면 0을 반환한다. 기술적으로 아래의 값과 같다.
NOT (value = value1 OR value = value2 OR value = valu3)
SELECT 1 NOT IN (1,2,3);
output:
1 NOT IN (1,2,3) |
---|
0 |
SELECT 0 NOT IN (1,2,3,NULL);
SELECT NULL NOT IN (1,2,3,NULL);
SELECT NULL NOT IN (1,2,3);
output: NULL
SELECT
officeCode,
city,
phone
FROM
offices
WHERE
country NOT IN ('USA' , 'France')
ORDER BY
city;
output:
officeCode | city | phone |
---|---|---|
7 | London | +44 20 7877 2041 |
6 | Sydney | +61 2 9264 2451 |
5 | Tokyo | +81 33 224 5000 |