SELECT query 에서 IN 연산자 사용
본문
SELECT query 에서 IN 연산자 사용한 예를 살펴봅니다.
mysql> SELECT Name, Category, InStock
-> FROM Topic
-> WHERE Category IN ('Blues', 'Jazz')
-> ORDER BY Name;
위에서 보면 IN연산자는 Where안에서 사용되는 것을 볼 수 있습니다. 조건에 더 강력한 무기가 되는겁니다. 칼럼에서 IN 안에 주어진 값만 조건으로 지정하게 됩니다.
IN의 값으로 하부 SELECT Query가 올 수 있습니다.
mysql> SELECT BookTitle, Copyright
-> FROM Books
-> WHERE Copyright IN
-> (
-> SELECT b.copyright
-> FROM Books AS b JOIN AuthorBook AS ab USING (BookID)
-> JOIN Authors AS a USING (AuthID)
-> WHERE AuthLN='MySQL'
-> )
-> ORDER BY BookTitle;
NOT IN을 사용할 수도 있습니다.
mysql> SELECT BookTitle, Copyright
-> FROM Books
-> WHERE Copyright NOT IN
-> (
-> SELECT b.copyright
-> FROM Books AS b JOIN AuthorBook AS ab USING (BookID)
-> JOIN Authors AS a USING (AuthID)
-> WHERE AuthLN='MySQL'
-> )
-> ORDER BY BookTitle;
NOT IN 은 <> ALL 로 표현할 수 있습니다.
mysql> SELECT id FROM employee WHERE id NOT IN (SELECT id FROM job);
또는
mysql> SELECT id FROM employee WHERE id <> ALL (SELECT id FROM job);
- 이전글SELECT query 에서 Having 사용 15.05.12
- 다음글SELECT query 에서 ORDER BY를 사용 15.05.11