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')
'프로그래밍 학습 > SQL' 카테고리의 다른 글
[MSSQL] EXISTS문 사용방법 (0) | 2014.03.21 |
---|---|
[MSSQL] 함수 사용방법! (2) | 2014.03.21 |
[MSSQL] 기본문법 DDL에 대해서 알아보자! (0) | 2014.03.21 |
[MSSQL] 다른계정의 테이블 복사하기! (0) | 2014.03.19 |
[MSSQL] 다중 테이블 INSERT문 (0) | 2014.02.19 |