>  기사  >  데이터 베이스  >  MySQL에서 FULL JOIN 효과를 어떻게 얻을 수 있나요?

MySQL에서 FULL JOIN 효과를 어떻게 얻을 수 있나요?

DDD
DDD원래의
2024-11-20 00:18:03582검색

How can I achieve a FULL JOIN effect in MySQL?

MySQL FULL JOIN?

MySQL에서는 FULL JOIN 연산을 직접 지원하지 않습니다. 그러나 LEFT JOIN과 RIGHT JOIN의 조합을 사용하면 비슷한 결과를 얻을 수 있습니다. 수행 방법은 다음과 같습니다.

SELECT
    t1.column1,
    t2.column2
FROM
    table1 AS t1
LEFT JOIN
    table2 AS t2
ON
    t1.id = t2.id
UNION ALL
SELECT
    t1.column1,
    NULL
FROM
    table1 AS t1
RIGHT JOIN
    table2 AS t2
ON
    t1.id = t2.id
WHERE
    t2.id IS NULL

이 쿼리에서 LEFT JOIN은 table1의 모든 행을 검색하고 id 열을 기반으로 table2의 해당 행과 일치시킵니다. RIGHT JOIN은 table2에서 모든 행을 검색하고 이를 table1의 해당 행과 일치시킵니다. UNION ALL 연산자는 두 조인의 결과를 결합합니다.

다음 데이터와 함께 "Persons"와 "Orders"라는 두 개의 테이블이 있다고 가정해 보겠습니다.

Persons
P_Id LastName FirstName
1 Hansen Ola
2 Pettersen Kari
3 Svenson Tove
Orders
OrderNo P_Id
22456 1
24562 1
77895 2
44678 2
34764 3

To 위 쿼리를 사용하여 다음 결과를 얻습니다.

LastName FirstName OrderNo
Hansen Ola 22456
Hansen Ola 24562
Pettersen Kari 77895
Pettersen Kari 44678
Svenson Tove 34764

쿼리에서 table1을 "Persons"로, table2를 "Orders"로 바꾸고 실행하면 됩니다.

위 내용은 MySQL에서 FULL JOIN 효과를 어떻게 얻을 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.