首頁 > 資料庫 > mysql教程 > 「*=」在舊版 Transact-SQL 連線中意味著什麼?

「*=」在舊版 Transact-SQL 連線中意味著什麼?

DDD
發布: 2025-01-03 13:35:38
原創
414 人瀏覽過

What Does

揭開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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板