EXISTS 연산자를 이용한 다중 행 서브쿼리

 

*개요

-서브쿼리에서 검색된 결과가 하나라도 존재하면 메인쿼리 조건절이 참이 되는 연산자

-서브쿼리에서 검색된 결과가 존재하지 않으면 메인쿼리의 조건절은 거짓

  。'선택된 레코드가 없습니다'라는 메시지 출력

-NOT EXISTS

  。EXISTS와 상반되는 연산자

  。서브쿼리에서 검색된 결과가 하나도 존재하지 않으면 메인쿼리의 조건절이 참이 되는 연산자

 

 

ALL 연산자를 이용한 다중 행 서브쿼리

 

*사용 예

-모든 학생 중에서 4학년 학생 중에서 키가 가장 큰 학생보다 키가 큰 학생의 학번, 이름, 키를 출력하여라.

 

 

ALL 연산자를 이용한 다중 행 서브쿼리

 

*개요

-메인쿼리의 비교 조건에서 서브쿼리의 검색 결과와 모두 일치하면 메인쿼리 조건절이 참이 되는 연산자

-ANY 연산자와 차이점

。'>ANY' : 서브쿼리 결과 중에서 최소 값보다 크면 메인쿼리의 비교 조건이 참

。'>ALL' : 서브쿼리의 결과 중에서 최대 값보다 크면 메인쿼리의 비교 조건이 참

 

ANY 연산자를 이용한 다중 행 서브쿼리

 

*사용 예

-모든 학생 중에서 4학년 학생 중에서 키가 제일 작은 학생보다 키가 큰 학생의 학번, 이름, 키를 출력하여라.

 

ANY 연산자를 이용한 다중 행 서브쿼리

 

*개요

-메인쿼리의 비교 조건에서 서브쿼리의 출력 결과와 하나라도 일치하면 메인쿼리 조건절이 참이 되는 연산자

-'>,<' 등과 같은 범위 비교도 가능

-ANY 연산자를 이용한 서브쿼리의 예

 

IN 연산자를 이용한 다중 행 서브쿼리

 

*사용 예

-정보미디어학부(부서번호:100)에 소속된 모든 학생의 학번, 이름, 학과 번호를 출력하여라.

 

IN 연산자를 이용한 다중 행 서브쿼리

 

*개요

-메인쿼리의 비교 조건에서 서브쿼리의 출력 결과와 하나라도 일치하면 메인쿼리 조건절이 참이 되는 연산자

-'=' 연산자를 OR로 연결한 것과 같은 의미

-IN 연산자를 이용한 서브쿼리의 예

 

다중 행 서브쿼리

 

*개요

-서브쿼리에서 반환되는 결과 행이 하나 이상일 때 사용하는 서브쿼리

-메인쿼리의 WHERE 절에서 서브쿼리의 결과와 비교할 경우에는 다중 행 비교 연산자를 사용하여 비교

   다중 행 비교 연산자 : IN, ANY, SOM, ALL, EXISTS

   다중 행 비교 연산자는 단일 행 비교 연산자와 결합하여 사용 가능

 

[표9.1] 다중 행 비교 연산자

+ Recent posts