게으른 개발자의 끄적거림

SQL Join문 없는 형태

끄적잉 2023. 11. 21. 22:58

SQL에서 JOIN 문이 없는 형태로 데이터를 결합하는 방법은 주로 서브쿼리(subquery)나 WHERE 절을 사용하여 조건을 지정하는 것입니다. 예를 들어, 두 개의 테이블이 있고 특정 조건에 따라 데이터를 결합하고 싶다면 다음과 같은 방법을 사용할 수 있습니다.

예를 들어, 아래의 두 테이블이 있다고 가정해 봅시다.

##################### ##################### #####################


-- 테이블1: employees
CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    employee_name VARCHAR(255),
    department_id INT
);

-- 테이블2: departments
CREATE TABLE departments (
    department_id INT PRIMARY KEY,
    department_name VARCHAR(255)
);


##################### ##################### #####################

이제, 두 테이블을 결합하지 않고 서브쿼리를 사용하여 특정 조건에 따라 데이터를 선택하는 예를 살펴보겠습니다.

##################### ##################### #####################


SELECT *
FROM employees
WHERE department_id IN (SELECT department_id FROM departments WHERE department_name = 'IT');

 

##################### ##################### #####################

이 쿼리는 'IT' 부서에 속한 직원들의 정보를 반환합니다. 여기서 서브쿼리는 departments 테이블에서 'IT' 부서의 department_id를 선택하고, 그 값을 사용하여 employees 테이블에서 직원을 선택합니다.

JOIN 문을 사용하지 않고도 특정 조건에 따라 데이터를 선택하는 것은 가능하지만, JOIN을 사용하는 것이 더 일반적이고 명시적입니다. JOIN을 사용하면 두 테이블 간의 관계를 명시적으로 나타낼 수 있으며, 가독성이 향상되고 유지보수가 쉬워집니다.