데이터 베이스(join)

장숭혁·2024년 8월 20일
0

TIL작성

목록 보기
54/60

1. INNER JOIN

INNER JOIN은 두 테이블 간의 공통된 값들을 보여준다. inner를 생략하고 join만 입력해도 된다.

SELECT *
FROM employee E JOIN department D ON E.dept_id = D.id;

두 테이블을 합친 결과가 출력되었다.

  • 특징 :
    • join condition에 여러 비교 연산자를 사용할 수 있다. =,<,>,!= ...
    • null값은 결합된 테이블에 나오지 못한다.

2. LEFT JOIN (또는 LEFT OUTER JOIN), RIGHT JOIN (또는 RIGHT OUTER JOIN)

두 테이블에서 join condition을 만족하지 않더라도 결합된 테이블에 출력되게 된다.

FROM table1 LEFT JOIN tables2 ON join_condition

SELECT *
FROM employees AS E
LEFT JOIN departments AS D ON E.dept_id = D.id;


id가 4인 David는 조건에 포함되지 않았지만 left join으로 인하여 조건이 충족되는 오른쪽 department 테이블의 레코드와 함께 결과가 나왔다.

  • RIGHT JOIN 일 경우
SELECT *
FROM employees AS E
RIGHT JOIN departments AS D ON E.dept_id = D.id;

반대로 조건에 포함되지 않은 id 5번의 HR이 출력되었다.

3. USING

두 테이블의 동일한 컬럼이 있으면 사용가능하다. 기존 join에서 id가 중복으로 출력되던 것이 왼쪽 한번만 출력되게 된다.

SELECT E.id, E.name, D.name AS department_name
FROM employees E
JOIN departments D USING (dept_id);

profile
코딩 기록

0개의 댓글

관련 채용 정보