MySQL 조인
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 |
"Orders" 테이블의 "CustomerID" 열은 "Customers" 테이블의 "CustomerID"를 참조합니다. 위의 두 테이블 간의 관계는 "CustomerID" 열입니다.
INNER JOIN
그런 다음 두 테이블에서 일치하는 값을 가진 레코드를 선택 하는 다음 SQL 문( 포함)을 만들 수 있습니다 .
예시
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
다음과 같이 생성됩니다.
OrderID | CustomerName | OrderDate |
---|---|---|
10308 | Ana Trujillo Emparedados y helados | 9/18/1996 |
10365 | Antonio Moreno Taquería | 11/27/1996 |
10383 | Around the Horn | 12/16/1996 |
10355 | Around the Horn | 11/15/1996 |
10278 | Berglunds snabbköp | 8/12/1996 |
MySQL에서 지원되는 조인 유형
INNER JOIN
: 두 테이블에서 일치하는 값을 가진 레코드를 반환합니다.LEFT JOIN
: 왼쪽 테이블의 모든 레코드를 반환하고 오른쪽 테이블의 일치하는 레코드를 반환합니다.RIGHT JOIN
: 오른쪽 테이블의 모든 레코드를 반환하고 왼쪽 테이블의 일치하는 레코드를 반환합니다.CROSS JOIN
: 두 테이블의 모든 레코드를 반환합니다.