PracticeEveryday

MySQL 본문

DB/MySQL

MySQL

kimddakki 2022. 4. 29. 11:56
Join    : 붙다, 가입하다

// JOIN은 데이터베이스 내의 여러 테이블에서 가져온 레코드를 조합하여 하나의 테이블이나 결과 집합으로 보여주는 Query

 

JOIN의 종류

1. LEFT JOIN

2. RIGHT JOIN

3. INNER JOIN

 


LEFT JOIN

// LEFT JOIN은 첫 번째 테이블을 기준으로, 두 번째 테이블을 조합하는 Query

 

[ 첫 번째 테이블 이름 EX) SELECT [ 필드 ] FROM [ 첫 번째 테이블 ] ] LEFT JOIN [ 두 번째 테이블 이름 ] ON [ 조건 ]

// ON 절의 조건을 만족하지 않는 첫 번째 테이블의 값은 모두 NULL로 가져옵니다.

// ON 절에서는 WHERE 조건문에서 사용하는 모든 조건을 사용할 수 있습니다.

 

SELECT * FROM Reservation
LEFT JOIN Customer ON Reservation.Name = Customer.Name
WHERE ReserveDate> '2016-02-01';

 

1. Reservation 테이블에서 모든 필드를 다 가져 올 때

   Reservation 테이블 기준으로 Customer 테이블을 붙여서 가져와줘

2. Reservation 테이블 Name 컬럼이랑 Customer테이블 Name 컬럼이

   일치하는 레코드 붙여서 갖다줘

3. 그중에 ReserveData 가 2016년 2월 1일 이후 걸로 보여줘

 

SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.aid

 

1. topic 테이블에서 모든 테이블을 다 가져 올 때 topic 테이블 기준으로 author 테이블을 붙여서 가져와줘

2. topic  테이블 author_id 필드랑 author 테이블 aid 필드가 일치하는 레코드 붙여서 갖다줘 

   일치하지 않는 topic 레코드 오른 쪽에는 NULL 값 넣어서 붙여줘!

 

위의 예제에서 두 개의 Name 값이 일치하면, INNER JOIN과 같이 두 테이블의 모든 필드를 그대로 가져옵니다.

하지만 두 개의 Name 값이 일치하지 않는 경우에는 Customer 테이블의 모든 필드를 NULL로 표시됩니다.


 

 

 

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

 

SQL Joins Visualizer

Please select how do you want to do SQL JOIN between two table Copy SQL

sql-joins.leopard.in.ua

 

'DB > MySQL' 카테고리의 다른 글

MySQL  (0) 2022.04.28
MySQL  (0) 2022.04.27
MySQL  (0) 2022.04.26
MySQL  (0) 2022.04.25
RDBMS  (0) 2022.04.24
Comments