13.join 함수
JOIN 함수
두개 이상의 테이블을 연결하여 마치 하나의 테이블인것 처럼 조회하는 방식
집합연산자를 사용한 결과값은 세로로 연결
조인을 사용한 결과 값은 두개이상의 테이블 데이터를 가로로 연결
조인은 ‘내부조인(EQUI JOIN:등가조인)’ 방식을 의마하는 경우가 일반적
등가 조인: 조인조건이 =인 경우
1.CROSS JOIN
(교차조인,데카르트곱,CARTESAN - PRODUCT)
모든 경우를 고려한다(모든 데이터가 조합)
select*
from employees,departments
order by employee_id;
employees(107)*departments(27)값의 데이터가 조회된다
2.EQUL JOIN(내부조인:INNER JOIN)
select emp.department_id,first_name,department_name
from employees emp,departments dep
where emp.department_id = dep.department_id; (employees 테이블과 department 테이블에 같은 컬럼)
DEPARTMENT_ID FIRST_NAME DEPARTMENT_NAME
10 Jennifer Administration
20 Pat Marketing
20 Michael Marketing
30 Sigal Purchasing
30 Karen Purchasing
30 Shelli Purchasing
30 Den Purchasing
30 Alexander Purchasing
30 Guy Purchasing
40 Susan Human Resources
50 Kevin Shipping
50 Jean Shipping
50 Adam Shipping
50 Timothy Shipping
50 Ki Shipping
50 Girard Shipping
50 Douglas Shipping
3.SQL 99
SELECT <필드 목록>
FROM <첫 번째 테이블>
INNER JOIN <두 번째 테이블>
ON <조인조건> (or USING(조건열))
[WHERE 일반 검색 조건]
4.natural join
자연 조인은 컬럼의 이름과 타입이 같은 컬럼을 찾아서 그열을 기준으로 등가 조인하는 것을 의미한다.
select department_id, first_name, department_name, manager_id
from employees emp natural join departments dep
order by department_id;
select department_id, manager_id
from employees
where department_id = 20;
natrual join을 이용해서 내부조인과 같은 결과가 나오도록 하기
select department_id, first_name, department_name
from employees natural join
(select department_id, department_name from departments);
5.join on 이용
select emp.employee_id, emp.first_name, dep.department_id,
from employees emp join departments dep
on (emp.department_id = dep.department_id);
6.join using 이용
using절은 식별자가 올 수 없다
select emp.employee_id,emp.first_name,department_id,dep.department_name
from employees emp join departments dep
using(delartment_id);
댓글남기기