揭開Transact-SQL 連接中「*=」的神秘面紗
在Transact-SQL (TSQL) 領域,一個古老的慣例出現了-一個讓許多人摸不著頭腦的奇特之處:神秘的「*=」。這個符號有什麼深刻的涵義?
解析語法
遇到神秘的連結條件「WHERE table1.yr =* table2.yr -1」可以喚起困惑感。這裡到底有什麼魔力?
瞧,古人的智慧:這個語法代表了 2005 年之前 TSQL 時代的外連遺物。與更熟悉的 ANSI JOIN 語法不同,這種舊的約定表示外連接。
古老的語法
為了進一步闡明其含義,請考慮這種古老的形式外連接:
"WHERE t.column =* s.column"
在此結構中,「t」和「s」代表兩個表,「column」標識執行連接的欄位。 “*=”運算子建立一個外連接,其中 NULL 值不會從結果中排除。
過去的遺產
必須注意的是,這語法已過時且不被現代 SQL 標準識別。當在遺留程式碼中遇到它時,應該避免它或將其重構為更當前、更明確的 ANSI JOIN 語法。
參考
對於那些想更深入了解 TSQL 歷史的人歷史,「SQL Server 2005 Outer Join Gotcha」提供了對這個奇怪的遺蹟的進一步見解。
以上是「*=」在舊版 Transact-SQL 連線中意味著什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!