我有以下mysql查询
SELECT n.* FROM notifications as n
INNER JOIN notifications as nc ON ... ...
INNER JOIN following as f ON ... ...
WHERE
(condition 1)
OR
(condition 2)
我的猜测是我如何确保第一个内连接(nc)的条件1被评估,第二个内连接的条件2被评估(f)
答案 0 :(得分:0)
最好的方法是将条件从WHERE子句移到ON子句。如果在Inner Join,WHERE和ON上以相同的方式工作,最好尽可能早地在查询中过滤掉数据。 因此,您的查询将如下所示: 选择n。* FROM FROM为n INNER JOIN通知为nc ON ... ... AND(条件1) INNER JOIN跟随f ON ......和(条件2)