Database/DBMS

[DBMS] 서브 쿼리

오류나면꽥꽥 2024. 2. 16. 14:32

서브쿼리란?

  • Sub Query는 SQL 문 내부에 포함된 중첩된 쿼리
  • 주로 외부 쿼리의 결과에 따라 내부 쿼리를 실행하고 결과를 필터링하는데 사용
  • 서브쿼리는 특정 조건을 만족시키거나 특정 값을 계산하기 위해 사용

 

 

 

 

 

📌 서브쿼리 사용 시 주의사항

  1. 서브쿼리를 괄호로 감싸서 사용
  2. 서브쿼리는 단일 행 또는 복수 행 비교 연산자와 함께 사용 가능
  3. 서브쿼리에서는 ORDER BY 를 사용 불가능

 

 

 

 

서브쿼리 사용 가능한 곳

 

1. SELECT 절

- 하나의 열처럼 사용

- SELECT 절의 서브쿼리는 결과가 반드시 하나의 값

 

SELECT [컬럼], (SELECT [컬럼] FROM [테이블] WHERE 조건) 
FROM [테이블]
WHERE 조건;

 

 

 

 

 

2. FROM 절

- 하나의 테이블처럼 사용

- FROM 절의 서브쿼리는 결과가 반드시 하나의 테이블

- 테이블 처럼 사용되므로, 열 이름과 테이블명을 명시

 

SELECT [컬럼]
FROM (SELECT [컬럼] FROM [테이블] WHERE [조건]) AS [별명] 
WHERE 조건;

 

 

 

 

 

3. WHERE 절

- 서브쿼리의 결과가 2건 이상 반환될 수 있다면, 반드시 다중 행 비교 연산자(IN, ALL, ANY, SOME)와 함께 사용

 

SELECT [컬럼]
FROM [테이블]
WHERE [컬럼][연산자](SELECT [컬럼] FROM [테이블] WHERE 조건);

 

다중 행 연산자  
IN  서브쿼리의 결과에 존재하는 임의의 값과 동일한 조건
ALL 서브쿼리의 결과에 존재하는 모든 값을 만족하는 조건
ANY 서브쿼리의 결과에 존재하는 어느 하나의 값이라도 만족하는 조건
EXISTS 서브쿼리의 결과를 만족하는 값이 존재하는지 여부를 확인하는 조건

 

 

 

 

 

 

'Database > DBMS' 카테고리의 다른 글

[DBMS] JDBC에서 Query 사용  (1) 2024.02.15
[DBMS] JDBC 연결방법  (0) 2024.02.15
[DBMS] JDBC  (0) 2024.02.14