Simuler FULL OUTER JOIN dans SQLite : utilisez UNION ALL
SQLite ne prend pas en charge nativement FULL OUTER JOIN. Cependant, nous pouvons obtenir le même effet en combinant deux LEFT JOIN et en utilisant UNION ALL.
Étape 1 : Créer la table de base de jointure gauche
<code class="language-sql">SELECT employee.*, department.* FROM employee LEFT JOIN department ON employee.DepartmentID = department.DepartmentID</code>
Étape 2 : Créer une table de jointure interne de valeur nulle
<code class="language-sql">SELECT employee.*, department.* FROM department LEFT JOIN employee ON employee.DepartmentID = department.DepartmentID WHERE employee.DepartmentID IS NULL</code>
Étape 3 : Union de toutes les tables
Enfin, combinez les deux tables LEFT JOIN en utilisant UNION ALL pour créer un FULL OUTER JOIN :
<code class="language-sql">SELECT * FROM ( SELECT employee.*, department.* FROM employee LEFT JOIN department ON employee.DepartmentID = department.DepartmentID ) UNION ALL ( SELECT employee.*, department.* FROM department LEFT JOIN employee ON employee.DepartmentID = department.DepartmentID WHERE employee.DepartmentID IS NULL )</code>
Remarque : UNION ALL ne supprime pas les doublons, les résultats peuvent donc contenir des valeurs en double.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!