我有一個查詢:檢查內部(嵌套)MySQL查詢返回的值
SELECT 1 FROM block_list WHERE client=123
其嵌套
SELECT * FROM products
WHERE (client=123 AND product=234)
AND 1 <> (SELECT 1 FROM block_list WHERE client=123)
它的工作原理(圓形其他方式)之內,如果我<>
與=
取代。但是如果用戶在阻止列表中,我希望它返回NO記錄。阻止是暫時的,隻影響網站的某些部分。
是否有檢查嵌套查詢返回的方法沒有結果在WHERE子句內嗎?
是的,有一種方法。 「不存在」。用'AND NOT EXISTS(SELECT ...)'替換'AND 1 <>(SELECT ...)' –