如何根据表B数据从表A中查询匹配genre_id=1的歌曲数据
对应查询语句编写方案
根据genre_id字段存储位置的不同,分两种情况编写查询语句即可:
- 当
genre_id字段直接存储在表A中
无需关联表B,直接使用WHERE条件过滤即可,基础语句如下:
如果不需要返回全字段,将语句中的-- 查询表A中所有genre_id为1的歌曲全量数据 SELECT * FROM 表A WHERE genre_id = 1;*替换为实际需要的字段名即可,例如song_name, singer, release_time。 - 当
genre_id字段仅存储在表B中,两张表通过歌曲唯一标识(通常为song_id)做关联
这种情况需要关联两张表后再做条件过滤,语句如下:SELECT a.* FROM 表A a INNER JOIN 表B b ON a.song_id = b.song_id -- 请将此处替换为两张表实际的关联字段 WHERE b.genre_id = 1;
提示:如果表B中存在多条同歌曲同genre_id的重复记录,查询结果可能出现重复的歌曲数据,可以在
SELECT后加DISTINCT关键字去重,即写为SELECT DISTINCT a.*。
内容的提问来源于stack exchange,提问作者Joshi G
相关产品推荐
相关产品推荐

