我的数据库中有一个CONTAINS表:
CREATE TABLE CONTAINS(
album_id INTEGER NOT NULL REFERENCES Album,
song_id INTEGER NOT NULL REFERENCES Song,
PRIMARY KEY(album_id , song_id)
);
我有两个其他表ALBUM和SONG:
CREATE TABLE ALBUM(
album_id INTEGER NOT NULL,
title TEXT NOT NULL,
PRIMARY KEY(album_id)
);
CREATE TABLE SONG(
song_id INTEGER NOT NULL,
title TEXT NOT NULL,
PRIMARY KEY(album_id)
);
如果我SELECT * FROM CONTAINS
,我会收到Album_Id及其各自的Song_Id s
。现在如何显示专辑名称和歌曲名称而不是ID?
答案 0 :(得分:0)
尝试此查询:
select a.title as album_name,s.title as song_name
from contains c join album a
on c.album_id=a.album_id
join song s
on c.song_id=s.song_id;