Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Melakukan Gabungan Luar Penuh dalam Microsoft Access?
Mensimulasikan Gabungan Luar Penuh dalam Microsoft Access
Microsoft Access tidak secara langsung menyokong gabungan luar sepenuhnya. Walau bagaimanapun, anda boleh mencapai hasil yang sama dengan menggabungkan sambung kiri dan kanan dengan pengendali UNION
. Gabungan luar penuh mengembalikan semua baris daripada kedua-dua jadual, sama ada terdapat padanan dalam jadual lain atau tidak. Begini cara untuk mencapainya:
Pendekatan:
Sertai Kiri dan Sertai Kanan: Mula-mula, lakukan sambung kiri (mengembalikan semua baris dari jadual kiri, AA
dan memadankan baris dari jadual kanan, BB
) dan kanan berasingan sertai (mengembalikan semua baris daripada BB
dan memadankan baris daripada AA
).
UNION All: Gabungkan hasil gabungan kiri dan kanan menggunakan UNION ALL
. Ini menggabungkan dua set hasil. Menggunakan UNION ALL
mengekalkan baris pendua jika ia wujud; UNION
mengalih keluar pendua.
Mengatasi Potensi Pendua: Jika anda perlu memastikan keunikan, anda mungkin memerlukan penapisan tambahan selepas UNION ALL
.
Contoh Pertanyaan:
Menyesuaikan contoh yang diberikan, gabungan luar penuh yang setara dalam Access ialah:
<code class="language-sql">SELECT * FROM AA LEFT JOIN BB ON AA.C_ID = BB.C_ID UNION ALL SELECT * FROM AA RIGHT JOIN BB ON AA.C_ID = BB.C_ID;</code>
Pertanyaan ini menggabungkan hasil gabungan kiri dan kanan dengan berkesan, memberikan anda kesan gabungan luar sepenuhnya.
Pertanyaan Dioptimumkan (untuk set data yang besar):
Untuk prestasi yang lebih baik dengan set data yang lebih besar, pendekatan yang lebih halus disyorkan:
<code class="language-sql">SELECT * FROM AA INNER JOIN BB ON AA.C_ID = BB.C_ID UNION ALL SELECT AA.*, NULL AS [BB fields] -- List BB fields explicitly as NULL FROM AA LEFT JOIN BB ON AA.C_ID = BB.C_ID WHERE BB.C_ID IS NULL UNION ALL SELECT NULL AS [AA fields], BB.* -- List AA fields explicitly as NULL FROM AA RIGHT JOIN BB ON AA.C_ID = BB.C_ID WHERE AA.C_ID IS NULL;</code>
Versi ini secara eksplisit mengendalikan nilai nol untuk medan daripada jadual tidak sepadan, meningkatkan kejelasan dan kemungkinan prestasi. Ingat untuk menggantikan [AA fields]
dan [BB fields]
dengan nama medan sebenar masing-masing daripada jadual AA dan BB.
Kaedah ini secara berkesan mensimulasikan gabungan luar sepenuhnya dalam Microsoft Access, memberikan hasil yang diingini sambil mempertimbangkan implikasi prestasi untuk set data yang lebih besar.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melakukan Gabungan Luar Penuh dalam Microsoft Access?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!