728x90
다음과 같은 데이터를 가진 SCHOOL과 STUDENT 테이블이 있다.
SELECT * FROM SCHOOL;
SCHOOL_SEQ | SCHOOL_NAME |
1 | 길동고등학교 |
2 | 우수고등학교 |
3 | 영구고등학교 |
4 | 짱고등학교 |
SELECT * FROM STUDENT;
STUDENT_SEQ | GRADE | STUDENT_NAME | AGE | SCHOOL_SEQ |
1 | 1 | 길동 | 17 | 1 |
2 | 1 | 철수 | 19 | 1 |
3 | 2 | 영희 | 18 | 3 |
4 | 2 | 짱구 | 18 | 4 |
5 | 2 | 미선 | 18 | 1 |
6 | 3 | 우형 | 19 | 2 |
해당 데이터를 가진 테이블들이 주어졌을 때, 길동고등학교에 다니는 제일 나이많은 학생을 제외한 나머지의 학교명, 학생명, 나이, 학년을 구하는 경우
1. 서브 쿼리를 이용해 조인하는 경우
SELECT B.SCHOOL_NAME,
A.STUDENT_NAME,
A.AGE,
A.GRADE
FROM STUDENT A, SCHOOL B
WHERE A.SCHOOL_SEQ = B.SCHOOL_SEQ
AND B.SCHOOL_SEQ = 1
AND B.AGE < (
SELECT MAX(AGE)
FROM STUDENT
AND SCHOOL_SEQ = 1
GROUP BY AGE
);
2. EXISTS를 이용해 값을 구하는 경우
SELECT B.SCHOOL_NAME,
A.STUDENT_NAME,
A.AGE,
A.GRADE
FROM STUDENT A, SCHOOL B
WHERE A.SCHOOL_SEQ = B.SCHOOL_SEQ
AND B.SCHOOL_SEQ = 1
AND NOT EXISTS (
SELECT MAX(AGE)
FROM STUDENT
AND SCHOOL_SEQ = 1
GROUP BY AGE
);
막상 예시로 작성하려는 데이터 및 쿼리에서는 큰 차이가 나지 않는다.
728x90
'DataBase > Tibero' 카테고리의 다른 글
Tibero 라이센스 발급 및 교체 적용 (0) | 2022.09.02 |
---|---|
Tbero] 테이블 정의서와 컬럼 정의서 추출 쿼리 (0) | 2022.07.29 |
Tibero ] 테이블 스페이스(Table Space)와 스키마(Schema) 생성 후 권한 부여 (0) | 2022.05.24 |
Tibero ] Outer Join의 또 하나 (+) 의 의미 (0) | 2022.01.26 |