我有這個疑問:爲什麼要在MySQL中使用EXISTS()函數?
SELECT * FROM mytable t1
WHERE t1.id = :id AND
EXISTS(SELECT 1 FROM t2 WHERE t2.post_id = :id)
當我刪除EXISTS()
功能,仍然是我的代碼工作:
SELECT * FROM mytable t1
WHERE t1.id = :id AND
(SELECT 1 FROM t2 WHERE t2.post_id = :id LIMIT 1)
那麼,爲什麼我寫的是什麼?它有什麼優勢?
參考存在於第一個匹配的回報。子查詢檢索所有匹配的記錄。閱讀手冊。 – Pred
@Pred感謝您的提示。但是我編輯了第二個查詢,現在有什麼不同了嗎? –
符合ANSI SQL是其中一個原因。 – jarlh