Simulasi FULL OUTER JOIN dalam SQLite
SQLite secara asli menyokong operasi INNER JOIN dan LEFT JOIN, tetapi ia tidak menyokong FULL OUTER JOIN secara langsung. Untuk melaksanakan kelakuan FULL OUTER JOIN dalam SQLite, pertanyaan yang ditentukan pengguna diperlukan.
Penyelesaian
FULL OUTER JOIN boleh dilaksanakan dalam SQLite menggunakan gabungan operasi LEFT JOIN dan UNION ALL. Pendekatan ini melibatkan melaksanakan dua LEFT JOIN berasingan dan menggabungkan keputusan menggunakan UNION ALL.
Kod:
<code class="language-sql">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>
Arahan:
LEFT JOIN pertama memperoleh semua pekerja dan maklumat jabatan mereka yang sepadan. LEFT JOIN kedua mendapatkan semua jabatan dan maklumat pekerja mereka yang sepadan. Operasi UNION ALL menggabungkan hasil kedua-dua cantuman ini, dengan berkesan melaksanakan FULL OUTER JOIN.
Klausa WHERE dalam pernyataan SELECT kedua menapis rekod pekerja yang tidak dikaitkan dengan mana-mana jabatan, memastikan FULL OUTER JOIN yang benar.
Dengan menggunakan teknik ini, pembangun boleh melakukan operasi FULL OUTER JOIN dalam SQLite walaupun SQLite sendiri tidak menyokongnya.
Atas ialah kandungan terperinci Bagaimana untuk Mensimulasikan JOIN LUAR PENUH dalam SQLite?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!