gpt4 book ai didi

php - 选择 ID 存在于另一列 MySQL 中的项目

转载 作者:太空宇宙 更新时间:2023-11-03 10:46:51 24 4
gpt4 key购买 nike

我有一个专辑表,每个专辑都有一个ID

我还有一张评论表,每条评论都通过albumID列链接到相应的专辑。

我想知道如何选择评论表中存在 ID 的所有专辑。

我正在考虑从评论列中选择所有 albumId,然后执行 select where id in 但我觉得这会非常低效。

这是在 MySQL 中

Albums Table
- ID

Reviews Table
- ID
- albumID

期望的结果:所有有评论的相册。 (例如:在 Reviews 表中显示 ID 的所有专辑)

最佳答案

这是使用简单 JOIN 的一种方法。内部连接表示法将只包括存在于两个表中的记录。它允许您访问两个表中的数据,如果您也需要评论之外的数据,这可能会很有用。

Select * from albums A
inner join reviews R
on A.ID = R.AlbumID

下一种方法通常是最快的,但您只能从相册中获取数据。这使用所谓的相关子查询,通常是最快的方法。

SELECT * from albums A
where exists (Select 1 from reviews R where A.ID = R.albumID)

还有第三种方法,但通常是最慢的...使用一个名为 IN() 的概念.此处的子查询从评论中生成一个 ID 列表,并且只显示该列表中的相册。

Select * from albums where ID IN (SELECT albumID from Reviews)

关于php - 选择 ID 存在于另一列 MySQL 中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30488159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com