Menentukan Jenis Cantuman Yang Sesuai: Kiri, Kanan atau Dalam
Dalam operasi manipulasi data, memilih jenis cantuman yang betul antara jadual adalah penting untuk mendapatkan hasil yang diingini. Gabungan kiri, kanan dan dalam menawarkan gelagat yang berbeza, dan memilih yang sesuai untuk situasi tertentu boleh menjadi mencabar. Mari jelaskan perbezaan dan bantu anda menentukan gabungan mana yang hendak digunakan:
Inner Join
Kiri Sertai
Betul Sertai
Contoh
Pertimbangkan contoh pertanyaan yang disediakan:
SELECT count(ImageId) as [IndividualRemaining], userMaster.empName AS ID#, CONVERT(DATETIME, folderDetails.folderName, 101) AS FolderDate, batchDetails.batchName AS Batch#, Client=@ClientName, TotalInloaded = IsNull(@TotalInloaded,0), PendingUnassigned = @PendingUnassigned, InloadedAssigned = IsNull(@TotalAssigned,0), TotalProcessed = @TotalProcessed, Remaining = @Remaining FROM batchDetails Left JOIN folderDetails ON batchDetails.folderId = folderDetails.folderId Left JOIN imageDetails ON batchDetails.batchId = imageDetails.batchId Left JOIN userMaster ON imageDetails.assignedToUser = userMaster.userId WHERE folderDetails.ClientId =@ClientID and verifyflag='n' and folderDetails.FolderName IN (SELECT convert(VARCHAR,Value) FROM dbo.Split(@Output,',')) and userMaster.empName <> 'unused' GROUP BY userMaster.empName, folderDetails.folderName, batchDetails.batchName Order BY folderDetails.Foldername asc
Dalam pertanyaan ini, gabungan kiri digunakan antara batchDetails dan folderDetails, dan gabungan kiri juga digunakan antara batchDetails dan imageDetails. Ini menunjukkan bahawa kami ingin mengembalikan semua baris daripada batchDetails, walaupun tiada baris yang sepadan dalam folderDetails atau imageDetails. Baris yang sepadan daripada folderDetails dan imageDetails akan disertakan jika tersedia, jika tidak, nilai NULL akan dikembalikan.
Atas ialah kandungan terperinci Gabungan Kiri, Kanan atau Dalam: Jenis Sambungan SQL Mana Yang Perlu Saya Gunakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!