역대급 졸린 오늘입니다.
외우자 싸우자 나가자 이기자
• 서브쿼리 (SUB QUERY)
1. 메인 쿼리에 포함되는 하위쿼리를 서브쿼리라고 한다.
2. 서브 쿼리를 먼저 실행해서 그 결과를 메인쿼리에 전달한다.
3. 종류
1) SELECT 절 : 스칼라 서브쿼리
2) FROM 절 : 인라인 뷰( INLINE VIEW)
3) WHERE 절 : 단일 행 서브쿼리 (결과가 1개)
다중 행 서브쿼리 (결과가 N개)
• 단일 행 서브쿼리 (SINGLE ROW SUB QUERY)
1. 결과가 1행이다. (1개이다.)
2. 단일 행 서브쿼리인 경우
1) WHERE 절에서 사용한 칼럼이 PK 또는 UNIQUE (중복이없는 칼럼 동등 비교 했을때) 칼럼인 경우
2) 통계 함수를 사용한 경우
3. 단일 행 서브쿼리 연산자
=, !=, >, >=, <, <=
• 다중 행 서브쿼리 (MULTI ROW SUB QUERY)
1. 결과가 N행이다.
2. 단일행이 아니면 다중 행
3. 다중행 서브쿼리 연산자
IN, ANY, ALL 등
▶ WHERE 절의 서브쿼리
→ 중복이 있는것에 대해서는 다중으로 처리하기 때문에 IN 사용!
▶ FROM절의 서브쿼리
ROW_NUMBER() OVER(ORDER BY SALARY DESC) → 이부분 뭔지 기억나시나요 저는 기억이 안나더라구요
이번기회에 머리에 넣겠습니다. 행번호 구할때 쓰는 기타함수!!
위에 행번호나 , RN, AN 처럼 AS 로 별명을 정한다음, FROM절 서브쿼리를 사용하면 실행순서가 FROM이 첫번째이기 때문에 WHERE 절에서 사용 가능하게 됩니다.
--여기 복습다시하기
▶ SELECT절의 서브쿼리
아직 이해를 하지못했지만 알면 좋은 WITH
• WITH
① 자주 사용하거나 복잡한 쿼리문을 WITH 절의 코드 블록으로 등록시켜 놓을 수 있다.
② WITH 절의 코드 블록은 임시로 저장되기 때문에 곧바로 사용해야 한다.
③ 쿼리문의 가독성이 좋아진다.
'코딩기록 저장소 🐕 > 데이터베이스' 카테고리의 다른 글
{문제풀이 복습...} (0) | 2023.07.11 |
---|---|
{집합, 인덱스, 뷰,...} (0) | 2023.07.10 |
{DQL마무리, 조인} (0) | 2023.07.06 |
7{ 날 힘들게 하는 함수 } (0) | 2023.07.05 |
{ DML, DQL } (0) | 2023.07.04 |