본문으로 바로가기

MYSQL 내부 조인

category 데이터베이스/MySQL 2018. 12. 20. 22:53

MYSQL 조인

 

JOIN 절은 여러 개 테이블의 행을 결합합니다.

 

OrderID CustomerID OrderDate
10308 2 1996-09-18
10309 37 1996-09-19
10310 77 1996-09-20
CustomerID CustomerName ContactName Country
1 Alfreds Futterkiste Maria Anders Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Mexico
3 Antonio Moreno Taquería Antonio Moreno Mexico

이렇게 두 개의 테이블이 있으면 두 테이블은 CustomerID를 통해 관계를 나타냅니다.

 

내부 조인을(INNER JOIN) 통해서

INNER JOIN 구문

SELECT column_name(s)
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;
예시

 

SELECT
 Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;

하게 되면 주문 테이블과 고객 테이블의 같은 ID를 가진 것을 조인하여 조회를 합니다.

즉 Order테이블에 ID와 Customers 테이블에 CustomerName 그리고 Order테이블에 Date를 추출하고

Orders와 Customers를 고객 ID가 같은 것을 토대로 출력해줍니다.

 

이렇듯이 JOIN에는 여러 유형이 있습니다.

  • 첫 째, 내부 조인은 위에서 봤듯이 값이 일치하는 레코드를 반환합니다.
  • 둘 째, LEFT(OUTER) 조인은 왼쪽 테이블에서 모든 레코드를 반환하고 오른쪽 테이블에서는 일치 레코드를 반환합니다.
  • 셋 째, RIGTH 조인은 오른쪽 테이블에서 모든 레코드를 반환하고 왼쪽 테이블에서 일치하는 레코드 반환
  • 넷 째, 풀 조인은 왼쪽 또는 오른쪽 테이블에 일치하는 항목이 있으면 모든 레코드를 반환합니다.

 

무슨말인지 어렵기 때문에 그림을 보자면

 

SQL INNER JOIN  SQL LEFT JOIN  SQL RIGHT JOIN  SQL 전체 외부 조인

<이미지 출처: w3schools>

 

 

다음 포스팅으로 LEFT JOIN에 대해 알아보도록 하겠습니다.

 

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

eXERD 설치  (0) 2018.12.21
MySQL LEFT/RIGHT 조인  (0) 2018.12.21
MYSQL 문법2  (0) 2018.12.20
MySQL 문법  (0) 2018.12.20
MySQL 개요  (0) 2018.12.19