HR sample schema 계정 예제파일
<aside>
Join이란?
Join은 데이터베이스에서 두 개 이상의 테이블을 연결하여 하나의 결과로 만드는 방법입니다. 각 테이블에 분리되어 있는 연관된 데이터를 필요할 때 하나로 합쳐서 볼 수 있게 해줍니다.
</aside>
SELECT column1, column2
FROM table1, table2
WHERE table1.column = table2.column;
SELECT column1, column2
FROM table1
JOIN table2 ON table1.column = table2.column;
두 테이블의 모든 행을 조합하는 조인 방식입니다. M행의 테이블과 N행의 테이블을 카티션 조인하면 M*N개의 행이 생성됩니다.
SELECT * FROM table1, table2;
SELECT * FROM table1 CROSS JOIN table2;
예제:
select count(*) from EMPLOYEES;--107
select count(*) from DEPARTMENTS;--27
--ORACLE
select count(*) from EMPLOYEES, DEPARTMENTS;--2889 = 107 * 27
--ANSI
select count(*) from EMPLOYEES CROSS JOIN DEPARTMENTS;
-- 예제 1: 부서와 직무의 모든 조합 확인
SELECT d.department_name, j.job_title
FROM departments d, jobs j;
-- 예제 2: 지역과 국가의 모든 조합
SELECT l.city, c.country_name
FROM locations l, countries c;
-- 예제 3: 직원과 부서의 모든 조합
SELECT e.first_name, d.department_name
FROM employees e, departments d;
-- 예제 4: 직무와 직무 이력의 모든 조합
SELECT j.job_title, jh.start_date
FROM jobs j, job_history jh;
-- 예제 5: 국가와 지역의 모든 조합
SELECT c.country_name, r.region_name
FROM countries c, regions r;