JOIN
관련 있는 데이터를 가지고 있는 둘 이상의 테이블을 결합하기 위해 사용
INNER JOIN : 일반적인 JOIN, INNER 는 생략 가능, 두 테이블에서 동일하게 가지고 있는 데이터들을 모아서 하나의 테이블인 것처럼 출력(교집합)
LEFT OUTTER JOIN : OUTTER는 생략 가능, 두 테이블 중 왼쪽에 있는 테이블의 모든 내용을 출력하고, 오른쪽에 있는 테이블의 내용 중 왼쪽 테이블에 해당하는 내용을 출력
RIGHT OUTTER JOIN : OUTTER는 생략 가능, 두 테이블 중 오른쪽에 있는 테이블의 모든 내용을 출력하고, 왼쪽에 있는 테이블의 내용 중 오른쪽 테이블에 해당하는 내용을 출력
CROSS JOIN : 양쪽 테이블의 모든 내용을 출력
SELF JOIN : 왼쪽 테이블 및 오른쪽 테이블을 하나의 테이블로 구성하여 결과를 출력하는 방식
<사용법>
SELECT 테이블명1.컬럼명1, 테이블명1.컬럼명2, ...,
테이블명2.컬럼명1, 테이블명2.컬럼명2, ...
FROM 테이블명1
JOIN 테이블명2
ON 테이블명1.동일한데이터컬럼 = 테이블명2.동일한데이터컬럼
AND 조건식
JOIN으로 두 테이블의 모든 컬럼 출력
SELECT * FROM employees
JOIN salaries
ON employees.emp_no = salaries.emp_no;
두 테이블에서 필요한 컬럼만 출력
SELECT employees.emp_no, employees.birth_date,
employees.first_name, employees.last_name, employees.gender,
employees.hire_date, salaries.salary, salaries.from_date, salaries.to_date
FROM employees
JOIN salaries
ON employees.emp_no = salaries.emp_no;
AS 명령어로 별칭을 사용한 JOIN
SELECT e.emp_no, e.birth_date, e.first_name, e.last_name,
e.gender, e.hire_date, s.salary, s.from_date, s.to_date
FROM employees AS e
JOIN salaries AS s
ON e.emp_no = s.emp_no
AND e.emp_no = 10009;
'백엔드 > 데이터베이스1' 카테고리의 다른 글
서브쿼리 (0) | 2022.11.24 |
---|---|
기본 문제 풀이 (0) | 2022.11.24 |
BETWEEN, 오름차순, AS (0) | 2022.11.24 |
IN, OR, LIKE (0) | 2022.11.24 |
WILD CARD, LIKE (0) | 2022.11.24 |