Where子句更好或ON子句的书写条件?

马丁·阿杰

哪个查询是标准查询和最佳查询?

这个:

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 = ? 
Yogesh Sharma

两种查询均以标准方式编写,几乎可以在所有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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章