SQL에서 서브쿼리(Subquery)는 하나의 쿼리 내에 포함된 또 다른 쿼리입니다. 서브쿼리는 주로 메인 쿼리의 조건을 만족시키기 위해 사용되며, 다양한 방식으로 활용될 수 있습니다. 이번에도 서브쿼리의 다양한 유형을 설명하고, 각각의 쿼리와 결과를 표 형식으로 제시하겠습니다.

기본 테이블

TableA (Employees)

EmployeeID Name DepartmentID Salary
1 John 10 5000
2 Jane 20 6000
3 Alice 30 7000
4 Bob 20 5500

TableB (Departments)

DepartmentID DepartmentName
10 HR
20 IT
30 Finance
40 Marketing

1. WHERE 절에 사용된 서브쿼리

설명: 서브쿼리를 WHERE 절에서 사용하여, 메인 쿼리의 필터 조건을 제공할 수 있습니다. 예를 들어, 특정 조건을 만족하는 데이터를 선택할 때 유용합니다.

쿼리: IT 부서에 속한 직원들의 정보를 조회하는 쿼리

sql코드 복사
SELECT EmployeeID, Name, Salary
FROM Employees
WHERE DepartmentID = (SELECT DepartmentID FROM Departments WHERE DepartmentName = 'IT');

결과:

EmployeeID Name Salary
2 Jane 6000
4 Bob 5500

2. SELECT 절에 사용된 서브쿼리

설명: 서브쿼리를 SELECT 절에서 사용하면, 각 행에 대해 계산된 값을 반환할 수 있습니다. 예를 들어, 각 직원의 부서명을 조회할 때 사용할 수 있습니다.

쿼리: 각 직원의 부서명을 포함한 정보를 조회하는 쿼리

sql코드 복사
SELECT Name, Salary, (SELECT DepartmentName FROM Departments WHERE DepartmentID = Employees.DepartmentID) AS DepartmentName
FROM Employees;

결과:

Name Salary DepartmentName
John 5000 HR
Jane 6000 IT
Alice 7000 Finance
Bob 5500 IT