그해
그래도해야지
그해
  • 그래도 해야지 (71)
    • Java (26)
    • Spring (8)
    • Golang (3)
    • CS (0)
      • 서버 (9)
      • 네트워크 (4)
      • 운영체제 (1)
      • WEB (0)
      • 데이터베이스 (6)
      • 자료구조 (1)
      • 보안 (3)
      • 알고리즘 (9)
    • 삽질 (0)
    • 회고 및 생각 (0)
hELLO · Designed By 정상우.
그해

그래도해야지

CS/데이터베이스

Mysql JOIN

2023. 2. 20. 17:52

Join

: 두 개이상의 테이블을 연결해 하나의 테이블처럼 만드는 것을 말한다.

 

 

 

 

 

 

 

먼저 employee(사람)와 titile (직업) 테이블이 존재할 때 ,

 

 

 

 

 

Left Join (= Left Outer Join)

왼쪽 A 테이블 기준으로 B 테이블을 붙이는 것

select * from employees A left join title B on A.title_id = B.id
  • 왼쪽 테이블의 데이터를 모두 가져오고 , 오른쪽 테이블은 match 됐을때 가져옴
  • 따라서 오른쪽 테이블에서 없는 값들은 Null로 표시된다.

 

이때 순수 A테이블 데이터만 가져오고 싶다면

select * from employees A left join title B on A.title_id = B.id where B.id is null

 

Right join (= Right Outer Join)

: 오른쪽 B 테이블 기준으로 A 테이블을 붙이는 것

  • 오른쪽 테이블의 데이터를 모두 가져오고 , 왼쪽 테이블이 match가 되었을 떄 가져온다.
  • 따라서 왼쪽 테이블에서 없는 값들은 Null로 표시된다.
select * from employees A right join  title B on A.title_id = B.id order by b.id

 

 

B(title)테이블 기준으로 id가 1인 변호사는 A테이블(employees)에서 3명이므로 3개가 연결되어 나온다.

이때 순수 B 테이블만 가져오고 싶다면

select * from employees A right join  title B on A.title_id = B.id where a.id is null order by b.id

 

Inner Join

: A와 B의 교집합을 말한다.

  • 두 테이블 모두에 값이 있어야만 표시된다.
select * from employees A inner join title B on A.title_id = B.id

 

 

Full Outer Join

: A와 B의 합집합을 말한다.

  • 하지만 mysq은 Full Outer Join을 지원하지 않기 때문에 Union을 사용해야한다.
SELECT * FROM employees A
LEFT JOIN title B on A.title_id = B.id
UNION
SELECT * FROM employees A
RIGHT JOIN title B on A.title_id = B.id

 

 

 

 

 

 

참고 및 출처 

https://dsin.wordpress.com/2013/03/16/sql-join-cheat-sheet/

 

'CS > 데이터베이스' 카테고리의 다른 글

mysql Index 종류 및 B-Tree 구조  (0) 2023.06.14
mysql 쿼리 최적화  (0) 2023.06.14
데이터베이스 정규화(Normalization)  (0) 2023.02.20
RDBMS vs NOSQL  (1) 2023.02.16
redis의 특징과 자료구조 및 pub/sub  (0) 2023.02.16
    'CS/데이터베이스' 카테고리의 다른 글
    • mysql Index 종류 및 B-Tree 구조
    • mysql 쿼리 최적화
    • 데이터베이스 정규화(Normalization)
    • RDBMS vs NOSQL
    그해
    그해
    그래도 공부는 해야지

    티스토리툴바