哪个查询是标准查询和最佳查询?
这个:
SELECT p.*
FROM posts p
JOIN favorites f ON p.id = f.post_id
WHERE f.user_id = ?
或这个:
SELECT p.*
FROM posts p
JOIN favorites f ON p.id = f.post_id
AND f.user_id = ?
两种查询均以标准方式编写,几乎可以在所有DBMS中使用。但是,如果您担心性能,那么我会EXISTS
改用。
select p.*
from posts p
where exists (select 1
from favorites f
where p.id = f.post_id and f.user_id = ?
);
对我来说,在ON
子句或WHERE
子句中执行filter只是样式的外观INNER JOIN
。因此,我将使用WHERE
条款:
SELECT p.*
FROM posts p INNER JOIN
favorites f
ON p.id = f.post_id
WHERE f.user_id = ?
ORDER BY f.date_time DESC;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句