250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 뷰
- GROUPING
- ROLLUP
- Node.js
- python
- 문법 차이
- 코드 스니펫
- simple case expression
- Oracle
- html
- SQLD
- JavaScript
- 비절차적 데이터 조작어
- dom
- window 함수
- list multiplication
- MYSQL
- searched case expression
- coalesce
- 정규식 연산
- 자료구조
- SQL
- 위코드
- git
- 정보처리기사
- sql 저장 모듈
- execute immediate
- show graph characteristics
- 기업 협업
- dense rank
Archives
- Today
- Total
프로그래밍 숲
SQL 비연관 서브쿼리, 연관 서브쿼리의 차이 본문
728x90
반응형
서브쿼리를 동작하는 방식에 따라 분류하면 다음과 같이 분류할 수 있습니다.
비연관 서브쿼리(Un-Correlated 서브쿼리)
비연관 서브쿼리는 서브쿼리가 메인쿼리 칼럼을 가지고 있지 않은 형태의 서브쿼리를 말합니다. 메인쿼리에 값(서브쿼리가 실행된 결과)을 제공하기 위한 목적으로 주로 사용됩니다.
SELECT name
FROM customers
WHERE age > (
SELECT AVG(age)
FROM customers
);
(SELECT AVG(age) FROM customers) 같은 서브쿼리는 독립적으로 실행될 수 있습니다.
연관 서브쿼리(Correlated 서브쿼리)
연관 서브쿼리는 서브쿼리가 메인쿼리 칼럼을 가지고 있는 형태의 서브쿼리를 말합니다. 일반적으로 메인쿼리가 먼저 수행되어 읽힌 데이터를 서브쿼리에서 조건이 맞는지 확인하고자 할 때 주로 사용합니다.
SELECT name
FROM customers c1
WHERE EXISTS (
SELECT 1
FROM orders o
WHERE o.customer_id = c1.id
);
(SELECT 1 FROM orders o WHERE o.customer_id = c1.id) 같은 서브쿼리는 메인쿼리와 연관되어 메인 쿼리에 지정된 고객에 대한 주문이 있는지 확인합니다.
메인쿼리의 결과가 서브쿼리로 제공될 수도 있고, 서브쿼리의 결과가 메인쿼리로 제공될 수도 있습니다. 따라서 실행 순서는 상황에 따라 달라진다고 보시면 됩니다.
728x90
반응형
'프로그래밍_인포 > 데이터베이스&SQL' 카테고리의 다른 글
SQL 뷰 매우 쉽게 이해하기 (0) | 2023.06.07 |
---|---|
SQL HAVING절 예시로 알아보기 (0) | 2023.06.06 |
SQL과 Oracle의 주요 문법 차이 (0) | 2023.06.04 |
SQL 다중 행 서브쿼리, 인라인 뷰 서브쿼리, 단일 행 서브쿼리 쉽게 이해하기 (0) | 2023.06.04 |
PRIMARY KEY 제약 조건을 정의하는 구문 종류 5가지 (0) | 2023.06.03 |
Comments