Rumah >pangkalan data >tutorial mysql >Apakah Maksud '*=' dalam Older Transact-SQL Joins?
Menyingkap Misteri "*=" dalam Transact-SQL Joins
Di alam Transact-SQL (TSQL), sebuah kuno konvensyen timbul—keanehan yang membuatkan ramai yang menggaru kepala: "*=" yang membingungkan. Apakah makna mendalam yang terkandung dalam simbol ini?
Merungkai Sintaksis
Menghadapi keadaan sambung samar "WHERE table1.yr =* table2.yr -1" boleh menimbulkan rasa hairan. Apakah sihir yang dimainkan di sini?
Lihatlah, kebijaksanaan orang dahulu kala: sintaks ini mewakili relik gabungan luar dari era TSQL sebelum 2005. Berbeza dengan sintaks ANSI JOIN yang lebih dikenali, konvensyen lama ini melambangkan gabungan luar.
Sintaksis Zaman Berzaman
Untuk menerangkan maksudnya dengan lebih lanjut, pertimbangkan bentuk kuno ini sambung luar:
"WHERE t.column =* s.column"
Dalam pembinaan ini, "t" dan "s" mewakili dua jadual, dan "lajur" mengenal pasti lajur di mana cantuman dilakukan. Pengendali "*=" mewujudkan gabungan luar, di mana nilai NULL tidak dikecualikan daripada hasilnya.
Legasi Masa Lalu
Adalah penting untuk ambil perhatian bahawa ini sintaks adalah usang dan tidak diiktiraf oleh piawaian SQL moden. Apabila ditemui dalam kod warisan, ia harus dielakkan atau difaktorkan semula ke dalam sintaks ANSI JOIN yang lebih terkini dan tidak jelas.
Rujukan
Bagi mereka yang meneroka lebih mendalam tentang sejarah TSQL sejarah, "SQL Server 2005 Outer Join Gotcha" memberikan pandangan lanjut tentang perkara yang ingin tahu ini peninggalan.
Atas ialah kandungan terperinci Apakah Maksud '*=' dalam Older Transact-SQL Joins?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!