Notice
Recent Posts
Recent Comments
«   2025/05   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

Chimy's Program

SQL SubQuery 서브쿼리 본문

DATABASE

SQL SubQuery 서브쿼리

chimy 2020. 3. 21. 21:47

SQL 서브쿼리

메인쿼리 안에 또 다른 SELECT절이 있는 것을 말하는데 위치에 따라 명칭이 다르다

 

SELECT 스칼라 서브쿼리 FROM 인라인 뷰 WHERE 컬럼명=일반서브쿼리

스칼라 서브쿼리는 하나의 컬럼이나 하나의 레코드만을 반환할 수 있는 쿼리

인라인 뷰는 하나 이상의 테이블로 만들어진 테이블로서 물리적으로 저장되지 않은 논리적으로 구현된 가상 테이블

일반 서브쿼리는 연산자에 따라서 반환되는 컬럼수와 레코드수가 다르다

 

단일 행 서브쿼리

 

SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명=단일 행 반환;

SELECT [COLUMN_NAME] FROM [TABLE_NAME] WHERE [COLUMN_NAME]=[SELECT QUERY];
SELECT name, email FROM member WHERE id=(SELECT id FROM bbs WHERE idx=192);

※ 하나의 레코드만 반환가능

 

다중 행 서브쿼리

 

SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 in(다중 행 반환);

SELECT [COLUMN_NAME] FROM [TABLE_NAME] WHERE [COLUMN_NAME] in([SELECT QUERY]);
SELECT name, email FROM member WHRER id in(SELECT id FROM bbs);

 

스칼라 서브쿼리 예제

 

※ 1개의 컬럼이나 1개의 레코드만 반환할 수 있다

 

스칼라 서브쿼리 예제 2

 

※ 1개의 테이블을 이용할 시 별칭을 줘서 구분할 수 있다

 

인라인 뷰 예제

 

※ 별칭을 사용해야 이용이 가능하다

※ WHERE절 뒤에 별칭을 사용하는 이유는 가독성을 위해서 이므로 사용하지 않아도 에러는 아니다

 

일반 서브쿼리 예제

 

 

단일/다중 행 서브쿼리 예제

 

'DATABASE' 카테고리의 다른 글

SQL 레코드 출력 개수  (0) 2020.03.23
ORDER BY 절  (0) 2020.03.22
SQL 조건문  (0) 2020.03.21
SQL 함수  (0) 2020.03.20
SQL 연산자  (0) 2020.03.18
Comments