실무에서 서브쿼리 사용시 주의사항

 

*서브쿼리의 결과가 NULL인 경우

 

*사용 예

-2002년에 입사한 교수의 평균 급여보다 많은 급여를 받는 교수의 교수 번호, 이름, 급여를 출력하여라.

 

실무에서 서브쿼리 사용시 주의사항

 

*ORDER BY 절 사용

-서브쿼리 내에서 ORDER BY 절 사용하면 오류 발생

 

 

실무에서 서브쿼리 사용시 주의사항

 

*메인쿼리와 서브쿼리 칼럼의 수가 일치하지 않는 경우

 

*사용 예

-101번 학과 교수 중에서 최소 급여를 받는 교수의 이름, 직급, 급여를 출력하여라.

 

실무에서 서브쿼리 사용시 주의사항

 

*단일행 서브쿼리에서 오류가 발생하는 경우

-복수 행 값을 반환하는 서브쿼리와 단일행 비교연산자 함께 사용하는 경우

-반환되는 칼럼의 수와 메인쿼리에서 비교되는 칼럼 수가 일치하지 않는 경우

-복수행을 출력하는 서브쿼리와 '=' 단일행 연산자로 비교하는 경우

 

상호연관 서브쿼리

 

*사용 예

-각 학과 학생의 평균 키보다 키가 큰 학생의 이름, 학과 번호, 키를 출력하여라.

 

상호연관 서브쿼리

 

*개요

-메인쿼리절과 서브쿼리간에 검색 결과를 교환하는 서브쿼리

-메인쿼리와 서브쿼리간의 결과를 교환하기 위하여 서브쿼리의 WHERE 조건절에서 메인쿼리의 테이블과 연결

-주의

   。행을 비교할 때마다 결과를 메인으로 반환하는 관계로 처리 성능이 저하될 수 있음

 

*사용법

UNPAIRWISE 다중 칼럼 서브쿼리

 

*사용 예

-UNPAIRWISE 비교 방법에 의해 학년별로 몸무게가 최소인 학생의 이름, 학년, 몸무게를 출력하여라.

 

UNPAIRWISE 다중 칼럼 서브쿼리

 

*개요

-메인쿼리와 서브쿼리의 비교 대상 칼럼을 분리하여 개별적으로 비교한 후 AND 연산에 의해 최종 결과를 출력

-각 칼럼이 동시에 만족하지 않더라도 개별적으로 만족하는 경우에는 비교 조건이 참이 되어 결과를 출력 가능

 

*사용법

SELECT          column_list

FROM             table1

WHERE           column1  IN(SELECT       column1

                                       FROM           table2

                                       WHERE         condition)

AND                column2  IN(SELECT       column2

                                        FROM          table2

                                        WHERE        condition);

 

 

+ Recent posts