Sertai Kiri vs Kanan
Apabila berurusan dengan SQL, bergabung adalah nama biasa yang akan muncul setiap sekarang dan kemudian. Klausa menyertai membantu dalam kombinasi rekod dari jadual yang berlainan dalam set data. Gabungan dalam mewujudkan mewujudkan jadual yang boleh digunakan sama ada atau dilancarkan dengan orang lain. Oleh itu, adalah wajar untuk memahami gabungan ini dan perbezaan di antara mereka untuk mengetahui gabungan tertentu, dan sama ada kanan atau kiri sepatutnya diambil dalam contoh khas.
Untuk memahami bergabung dengan lebih baik dan perbezaan mereka, adalah penting untuk memahami jenis bergabung yang ada. Secara umumnya terdapat tiga jenis gabungan. Gabungan ini termasuk gabungan dalaman, salib menyertai dan bahagian luar. Sambungan dalaman secara amnya membandingkan jadual dan hanya akan memberi atau mengembalikan hasil sekiranya terdapat perlawanan. Fungsi utama gabungan dalaman adalah untuk mengurangkan saiz set hasil.
Cross join di sisi lain membandingkan dua jadual dan memberikan pengembalian masing-masing dan setiap kombinasi yang mungkin datang dari baris kedua-dua jadual. Banyak hasil dijangkakan dari gabungan ini dan kebanyakannya mungkin tidak bermakna. Oleh itu, penggunaan gabungan ini harus dipraktikkan dengan berhati-hati.
Gabungan luar mengambil perbandingan jadual dan mengembalikan data apabila perlawanan tersedia. Sama seperti yang dilihat di dalam batin, baris luar pendua dalam jadual yang diberikan sekiranya rekod sepadan dilihat. Keputusan gabungan luar biasanya lebih besar dan dengan itu set data besar kerana set itu sendiri tidak dikeluarkan dari set.
Satu bahagian kiri merujuk kepada menyimpan semua rekod dari jadual 1 tanpa mengira keputusan, dan penyisipan nilai NULL apabila nilai jadual kedua tidak sepadan. Sebaliknya, hak menyatukan, merujuk kepada menyimpan semua rekod yang datang dari jadual ke-2 tanpa mengira hasilnya, dan penggunaan nilai NULL apabila hasilnya tidak sesuai dengan yang terdapat dalam jadual 1.
Oleh itu, menyertai luar kiri mengekalkan semua baris yang ada di meja 'kiri' tanpa mengira sama ada terdapat padanan yang padanan di atas meja 'kanan'. Oleh itu jadual kiri merujuk kepada jadual yang pertama kali di dalam kenyataan bersama. Ia sepatutnya muncul di sebelah kiri kata 'join' yang berlaku di atas meja. Apabila gabungan luaran kiri dilakukan, semua baris dari kiri harus dikembalikan. Lajur yang tidak padan dalam jadual akan diisi dengan NULL apabila tidak ada padanan.
Adalah penting untuk diperhatikan bahawa apabila berurusan dengan dua gabungan ini, semua baris dari kiri meja dipaparkan di dalam jadual di sebelah kiri luar. Hasilnya memaparkan diri tanpa mengira sama ada mana-mana lajur padanan hadir di dalam jadual yang betul. Dalam bahagian luaran kanan, semua baris dari sebelah kanan ditunjukkan dan ini adalah tanpa mengira sama ada terdapat sebarang lajur padanan di sebelah kiri jadual.
Pilihan sama ada untuk pergi untuk menyertai luar kiri atau bahagian luar yang betul tidak penting kerana keputusan yang sama ditunjukkan. Fungsi yang dibentangkan oleh pembekal luar yang betul adalah fungsi yang sama yang dibentangkan oleh orang luar kiri. Dengan hanya menukar pesanan di mana jadual muncul dalam pernyataan SQL, anda boleh mengharapkan hasil yang sama, tanpa mengira gabungan yang digunakan.
Ringkasan
Sertai dalam tiga kumpulan utama - menyertai dalaman, menyertai silang dan luar
Bahagian luar kiri memaparkan semua baris dari kiri meja
Sambung kanan memaparkan semua baris dari kanan meja
Mengganti urutan SQL boleh menghapuskan penggunaan kedua-dua bahagian luar kanan dan kiri dan sebaliknya hanya menggunakan satu.