데이터베이스 - 복수행 서브 쿼리

복수행 서브 쿼리




  • in
  • any, all




manager 직책을 가진 사람들의 월급은 다음과 같다.

이제 manager 직책을 가진 사람들 중 한명보다라도 월급이 큰 사람들을 구하도록 하겠다. 따라서 위에서 구했던 manager들의 월급 중 가장 작은 2450을 넣어 비교하여 다음의 리스트를 구했다.
이제 이를 하나의 쿼리로 해보도록 하자.

이 때 사용하는 것이 any이다. any는 단 하나라도 해당 되면 참이됨을 의미한다.



만약에 all을 할 경우는 어떻게 될 까?
all이 들어올 경우에는 모든 manager의 sal보다 많은 경우만 해당되어야 할 것이다. 결과를 한번 보도록 하자.



우리가 처음 구했던 manager들의 월급은 2450, 2850, 2975이다. 이 때 모든 manager의 sal보다 많기 위해서는 2975보다 많은 데이터만을 가져와야 한다. 따라서 jones와 blake는 테이블에서 빠진다.

댓글

이 블로그의 인기 게시물

데이터베이스 PL/SQL - 배열과 테이블

데이터베이스 PL/SQL 변수선언

데이터베이스 PL/SQL 제어문 - 반복문