■ EXISTS 연산자를 사용해 상호 관련 부속 질의어를 만드는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
SELECT NAME ,POSITION ,DEPT_ID FROM PROFESSOR P WHERE EXISTS ( SELECT * FROM COURSE C WHERE C.PROFESSOR_ID = P.PROFESSOR_ID ); |
※ 메인 쿼리의 EXISTS 연산자는 서브
더 읽기
■ ALL 연산자를 사용해 다중 행 서브 쿼리를 만드는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
SELECT STUDENT_ID ,COURSE_ID ,SCORE ,SCORE_ASSIGNED FROM TBL_SCORE WHERE SCORE >= ALL ( SELECT SCORE FROM TBL_SCORE WHERE COURSE_ID = 'L1031' ) AND COURSE_ID = 'L1031'; |
※ ALL 연산자는 메인 쿼리의 비교
더 읽기
■ ANY 연산자를 사용해 다중 행 서브 쿼리를 만드는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
SELECT STUDENT_ID ,COURSE_ID ,SCORE ,SCORE_ASSIGNED FROM TBL_SCORE WHERE SCORE > ANY ( SELECT SCORE FROM TBL_SCORE WHERE COURSE_ID = 'L1031' ) AND COURSE_ID = 'L1031'; |
※ ANY, SOME 연산자는 메인 쿼리의
더 읽기
■ IN 연산자를 사용해 다중 행 서브 쿼리를 만드는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
SELECT STUDENT_ID ,COURSE_ID ,SCORE ,SCORE_ASSIGNED FROM TBL_SCORE WHERE (SCORE_ASSIGNED, SCORE) IN ( SELECT SCORE_ASSIGNED ,MAX(SCORE) FROM TBL_SCORE GROUP BY SCORE_ASSIGNED ); |
※ IN 연산자는 메인 쿼리의 비교
더 읽기
■ 단일 행 서브 쿼리를 만드는 방법을 보여준다. ▶ 예제 코드 (SQL)
|
SELECT * FROM TBL_SCORE WHERE COURSE_ID = 'L1031' AND SCORE >= ( SELECT AVG(SCORE) FROM TBL_SCORE WHERE COURSE_ID = 'L1031' ); |
■ 자동으로 합계/소계를 만드는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
SELECT COURSE_ID ,STUDENT_ID ,SUM(SCORE) FROM TBL_SCORE WHERE COURSE_ID = 'L0011' GROUP BY COURSE_ID ,STUDENT_ID; /* COURSE_ID STUDENT_ID SUM(SCORE) --------- ---------- ---------- L0011 C0801 68 L0011 C0802 98 */ |