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 중국어 웹사이트의 기타 관련 기사를 참조하세요!