프로그래밍 학습/SQL
[MSSQL] ANY구문과 하위쿼리 사용방법
승원이
2014. 3. 21. 09:28
728x90
먼저 하위쿼리란 간단하게 얘기하면 쿼리문 안에 또 쿼리문이 들어있는 것을 말합니다. 박지성의 키보다 키가 큰 사람의 이름과 키를 출력하려면 WHERE 조건에 박지성의 키를 직접 써줘야합니다.
SELECT name,height FROM 테이블명 WHERE height>177
--> 177이라는 것을 직접쓰지 않고 하위 쿼리로 쓰는 것
SELECT name,height FROM 테이블명 WHERE HEIGHT>
(SELECT height FROM 테이블명 WHERE name='박지성') --> 177의 값을 돌려줌
위의 두 쿼리는 동일한 결과를 가져옴.
휴대폰 국번이 019인 사람의 키보다,키가 크거나 같은 사람을 추출해 보자.
mobile |
name |
height |
019 |
박지성 |
177 |
010 |
안정환 |
180 |
010 |
박주영 |
183 |
019 |
홍명보 |
185 |
이때 ANY구문을 써야한다. 하위 쿼리에 둘 이상의 값을 반환하면 비교연산자를 쓸 수가 없기 때문이다.
SELECT name,height FROM 테이블명 WHERE height>=ANY
(SELECT height FROM 테이블명 WHERE mobile='019')