✏️outer join 예제
FROM절과 WHERE 절의 순서도 효율성에 큰 영향을 미친다.
냅다 JOIN 하지 말고 우선 DISTINCT로 어디에 OUTER 걸어야 할지 생각해보기
근데! 냅다 DISTINCT 하지 말고 우선 SELECT COUNT(*) FROM TABLE 해서 데이터가 총 몇 건인지 보고 나서 해보기.
SUB QUERY 서브쿼리
SELECT 문 안에 다시 SELECT 문이 기술된 형태의 쿼리
단일 SELECT 문으로 조건식을 만들기에는 조건이 부족할 때 또는 완전히 다른 테이블에서 데이터 값을 조회해 메인 쿼리의 조건으로 사용할 때에 유용
하나의 SQL문에 포함되어 있는 또 다른 SQL 문을 의미함
사용 방법:
서브쿼리를 괄호로 감싸서 사용
서브쿼리는 단일 행 또는 복수 행 비교연산자와 함께 사용 가능
서브쿼리에서는 ORDER BY를사용하지 못함
사용 가능 위치
: SELECT, FROM, WHERE, HAVING, ORDERBY, INSERT 문에 VALUES
🚩단일 행 서브쿼리
서브 쿼리가 단일 행 비교 연산자(=,<,>,<=.>=.<>)와 함께 사용할 때에는 서브쿼리의 결과 건수가 반드시 1건 이하여야 한다. (그 이상이면 오류 발생)
✏️서브쿼리 예제
✏️예제 2
서브쿼리 안에서 조인(JOIN)이 필요한 경우
🚩다중 서브쿼리
서브 쿼리의 결과가 2건 이상 반환될 수 있는 경우, 다중 행 비교 연산자 (IN ALL ANY EXIST)와 함께 사용
IN: 서브쿼리의 결과 중에서 하나라도 일치하면 참
ALL: 서브쿼리의 검색결과와 모두 일치해야 참
ANY: 서브쿼리의 검색결과와 하나 이상 일치하면 참
EXIST: 서브쿼리의 결과 중 만족하는 값이 하나라도 존재하면 참
같은 결과를 뽑는 두 가지 방법
다중 서브쿼리문에서 상사로 제한하지 않으면 데이터가 많을 경우 속도에 큰 문제가 야기될 수 있으므로... 서브쿼리문 안에서 한 번 제한해주고, 그걸 또 밖에서 한번 더 걸러줘야 (물론 바깥에서 다시 걸러지긴 함)
'Study > DataBase' 카테고리의 다른 글
[데이터베이스] PL/SQL을 활용한 프로시저 (2) | 2024.01.03 |
---|---|
[데이터베이스] 오라클 서브쿼리를 활용한 DDL / VIEW(뷰) 사용 예제/ INDEX(인덱스) 개념 (0) | 2024.01.02 |
[데이터베이스] 1222 JOIN(조인) / ORA-00979 에러 (0) | 2023.12.22 |
[데이터베이스] 1221 _ FK 수정 / (0) | 2023.12.21 |
[DB] 1219~1220 수업 아카이빙 (0) | 2023.12.19 |
댓글