繁体   English   中英

这个 SQL 查询可以改进吗?

[英]Can this SQL query be improved?

有新闻和类别。 一条新闻可以属于多个类别,也可以根本没有类别。 我需要查询不属于特定类别(即 2)的所有新闻(如果新闻属于类别 2 和 3,我们仍然不想要它)。

似乎我是这样解决的,但我对 SQL 的经验不是很丰富,所以将非常感谢任何想法和批评。 对不起,也许是微不足道和无趣的问题。

SELECT * FROM news n
LEFT JOIN news_cats nc ON n.id = nc.cat_id 
WHERE n.id NOT IN (SELECT news_id FROM news_cats WHERE news_cats.cat_id = 2)
GROUP BY n.id;
SELECT * FROM news n
LEFT JOIN news_cats nc ON n.id = nc.cat_id 
WHERE news_cats.cat_id <> 2
GROUP BY n.id;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM