我有以下MySQL查詢:使用都存在,並在MySQL查詢簡單的值進行覈對
SELECT * FROM posts p WHERE
EXISTS (
SELECT 1 FROM following f WHERE f.from = 2 AND f.to = p.uid
)
OR p.uid = 2
我希望它從posts
其中following
有記錄WHERE f.from = 2 AND f.to = p.uid
以及所有記錄,其中p.uid = 2
返回的所有記錄。
如果我先檢查存在檢查,則只有與存在匹配的記錄纔會返回。如果我只將它們交換到匹配p.uid = 2
返回的記錄。
與所需的輸出一起提供一些樣本數據,您可以在SELECT子句中添加
distinct
。 – 2014-12-06 09:34:13我已檢查過您的查詢,並且似乎這兩個版本都可以正常工作,無論where子句中的條件順序如何,請參閱此演示:http://sqlfiddle.com/#!2/6b098/3查詢返回完全相同的結果。 – krokodilko 2014-12-06 11:12:40