SQL 서브쿼리와 EXISTS 연습문제

SQL 서브쿼리는 다른 SQL 쿼리 내에 포함된 쿼리로, 주 쿼리의 결과에 영향을 줄 수 있습니다. EXISTS는 서브쿼리 결과가 비어 있지 않은지 확인하는 데 사용되는 연산자입니다. 이번 연습문제에서는 SQL 서브쿼리와 EXISTS 연산자를 사용하여 다양한 문제를 해결해보겠습니다.

문제 1

다음은 employees 테이블과 departments 테이블의 구조입니다.

employees
- id (INT)
- name (VARCHAR)
- department_id (INT)

departments
- id (INT)
- name (VARCHAR)

departments 테이블에서 “Sales” 부서의 id를 찾는 서브쿼리를 작성하세요.

SELECT id
FROM departments
WHERE name = 'Sales';

문제 2

employees 테이블에서 “Sales” 부서에 속한 직원 이름과 부서 이름을 조회하는 SQL 문을 작성하세요.

SELECT e.name, d.name
FROM employees e
JOIN departments d ON e.department_id = d.id
WHERE d.name = 'Sales';

문제 3

employees 테이블에서 “Sales” 부서에 속한 직원 중에서 급여가 5000 이상인 직원의 이름과 급여를 조회하는 SQL 문을 작성하세요.

SELECT e.name, e.salary
FROM employees e
JOIN departments d ON e.department_id = d.id
WHERE d.name = 'Sales' AND e.salary >= 5000;

위의 예제 코드를 실제 데이터베이스에서 실행하면 결과를 얻을 수 있습니다. 이런 방식으로 SQL 서브쿼리와 EXISTS 연산자를 사용하여 복잡한 질의를 작성하고 실행할 수 있습니다. 이를 통해 데이터베이스에서 원하는 정보를 효율적으로 추출할 수 있습니다.

이 글은 데이터베이스 학습을 위해 작성된 예시입니다.

참고 자료