EXISTS 查詢中的子查詢可讀性
EXISTS 查詢中哪種子查詢語法經常出現可讀性的問題語法更容易出現,因為它對理解和理解有影響。代碼清晰。雖然兩種常見方法之間的表現沒有顯著差異,但選擇最合適的選項可以增強可讀性並簡化維護。
最初,資料庫傾向於使用語法「EXISTS (SELECT * FROM baz WHERE baz.id = bar.id)」在他們的文件中。然而,隨著時間的推移,業界已經傾向於更簡單的形式「EXISTS (SELECT 1 FROM baz WHERE baz.id = bar.id)」。
使用「SELECT 」的直覺論點是它表示搜尋子查詢中是否存在任何*記錄。然而,這會導致一些誤解。如同行業建議所述,重點應該放在子查詢記錄的存在性上,而不是內容。
語法「EXISTS (SELECT 1 ..)」確保子查詢只傳回一筆記錄。這與 EXISTS 作為半連接的定義一致,半連接檢查指定連接條件中是否有記錄。
因此,建議更直觀和行業標準的方法是“ EXISTS (SELECT 1 ..)",因為它簡化了對確定存在的關注,而不是引入不必要的複雜性或混亂。
以上是EXISTS 查詢:SELECT * 或 SELECT 1 – 哪一種子查詢語法比較有可讀性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!