所以,我有这个数据库:
带下划线=主键
粗体=外键
是否有使用SQL的方式:
1)找到专辑曲目中所有这些录音的标题。
2)删除唱片集ID 1上的recordId 1的音轨
或者说数据库设计不可能吗?如果是这样,请问我如何改进它的任何提示?如果这是一个愚蠢的问题,很抱歉,我是数据库新手。
答案 0 :(得分:1)
在我看来,您已经很好地考虑了数据模型,但是开始编写SQL时遇到了麻烦。
如果没有示例数据,很难回答这个问题,但是这里有一些模糊的示例-也许它们会让您朝正确的方向入手。
1)找到专辑曲目中所有这些录音的标题。
select r.recordingID, s.songTitle -- you want the title
from song s -- so start with the song table
inner join recording r -- match song to a recording
on r.songid = s.songid
inner join albumtrack at -- you only want recordings with an album track
on at.recordingid = r.recordingid;
2)删除唱片集ID 1上的recordId 1的音轨
delete from albumtrack
where recordingID = 1
and cdID = (select cdID from cd where albumID = 1);