SQL을 사용하다보면 여러 테이블 간의 데이터를 결합하여 원하는 결과를 얻기 위해 조인과 서브쿼리를 사용해야 하는 경우가 있습니다. 이번 글에서는 SQL에서의 조인과 서브쿼리 사용 방법에 대해 알아보겠습니다.
1. 조인(Join)
조인은 두 개 이상의 테이블로부터 데이터를 결합하여 하나의 결과 집합을 만드는 데 사용됩니다. 일반적으로는 공통 열(기준 열)을 기준으로 데이터를 결합합니다.
예를 들어, employees
테이블과 departments
테이블이 있다고 가정해봅시다. 이 두 테이블은 각각 직원의 정보와 부서 정보를 담고 있습니다. 만약 직원과 그들이 속한 부서의 정보를 함께 얻고 싶다면, employees
테이블과 departments
테이블을 조인하여 필요한 정보를 얻을 수 있습니다.
다음은 두 테이블을 조인한 SQL문의 예시입니다.
SELECT employees.name, departments.dept_name
FROM employees
INNER JOIN departments ON employees.dept_id = departments.dept_id;
위의 예시에서 employees
테이블과 departments
테이블을 dept_id
열을 기준으로 조인하였습니다. 결과는 직원의 이름과 그들이 속한 부서의 이름이 함께 출력됩니다.
2. 서브쿼리(Subquery)
서브쿼리는 하나의 SQL문 안에 포함된 또 다른 SQL문으로, 주로 다른 쿼리의 결과에 따라 동적으로 조건을 설정하거나, 복잡한 연산을 수행하기 위해 활용됩니다.
예를 들어, 어떤 부서에서 평균 급여보다 높은 급여를 받는 직원의 목록을 얻고 싶다면, 서브쿼리를 사용하여 이를 구할 수 있습니다.
다음은 서브쿼리를 사용한 SQL문의 예시입니다.
SELECT name, salary
FROM employees
WHERE dept_id IN (SELECT dept_id FROM departments WHERE avg_salary > 50000);
위의 예시에서, departments
테이블을 서브쿼리를 사용하여 평균 급여가 50000보다 높은 부서의 dept_id
를 선택하고, 이를 이용하여 해당 부서에 속한 직원들의 이름과 급여를 출력하고 있습니다.
조인과 서브쿼리는 SQL을 더욱 유연하게 활용할 수 있도록 도와줍니다. 이를 잘 파악하여 적재적소에 활용하는 것이 중요합니다.
이상으로 SQL에서 조인과 서브쿼리 사용 방법에 대해 알아보았습니다. 추가적인 내용이나 궁금한 점이 있다면 언제든지 물어봐주세요!