mysql练习 百度云

时间:2022-09-22 19:21:22

mysql表数据查询中等难度练习题,请大家帮我做一下。200分!!!

举报违规检举侵权投诉| 2015-10-24 22:34 haysbd | 浏览 566 次
音乐数据库有两张表,其中ablum专辑表中包含200首来自Amazon的音乐CD。每张专辑的曲目(因为是音乐CD,所以也可以叫做歌曲)都储存在另一张track(曲目表中)。这两个表通过两个相关的字段track.album和album.asim来连接。

表数据存在云盘里面:http://pan.baidu.com/s/1gdvwWyZ请下一下,谢谢。

完成如下SQL语句:
1.找出包含song(歌曲)‘Alison’的专辑title(名称)和artist(作者)
2.那个artist(作者)录制了送(歌曲)‘Exodus’
3.列出track(曲目表)中所有的‘Blur’ album(专辑)的song(歌曲)
4.显示每张album(专辑)的title(名称)和包含的track曲目数
5.显示每张album(专辑)的title(民称)以及曲目民称中包含‘Heart’的曲目总数量(如果专辑中如果没有满足条件的曲目,则不显示该专辑)
6.“title track”(主打歌曲)就是song(歌曲)和(title)(专辑名)相同的曲目。请找出所有title tracks(主打曲目)
7.同名专辑就是专辑名和artist(作者名)相同的专辑(列如,乐队‘Blur’的专辑'Blur'就是同名专辑)。请列出同名专辑
8.找出两张以上专辑出现过的歌曲,同时包含出现的次数
9.一张物超所值的专辑就是专辑中每首歌曲的定价低于50pence(便士)的专辑,请找出这些专辑,并显示专辑标题,专辑价格和曲目总数
10.Wagner‘s Ring cycle的专辑有173track(曲目),Bing Crosby的专辑包含101track(曲目)。请根据专辑中包含曲目的多少,从多到少一次列出这些专辑的名称和包含的总曲目数目。

就上面10个小题,认真快速的帮我做一下,谢谢了。

mysql表数据查询中等难度练习题,请大家帮我做一下。200分!!!

举报违规检举侵权投诉| 2015-10-24 22:34 haysbd | 浏览 566 次
音乐数据库有两张表,其中ablum专辑表中包含200首来自Amazon的音乐CD。每张专辑的曲目(因为是音乐CD,所以也可以叫做歌曲)都储存在另一张track(曲目表中)。这两个表通过两个相关的字段track.album和album.asim来连接。

表数据存在云盘里面:http://pan.baidu.com/s/1gdvwWyZ请下一下,谢谢。

完成如下SQL语句:
1.找出包含song(歌曲)‘Alison’的专辑title(名称)和artist(作者)
2.那个artist(作者)录制了送(歌曲)‘Exodus’
3.列出track(曲目表)中所有的‘Blur’ album(专辑)的song(歌曲)
4.显示每张album(专辑)的title(名称)和包含的track曲目数
5.显示每张album(专辑)的title(民称)以及曲目民称中包含‘Heart’的曲目总数量(如果专辑中如果没有满足条件的曲目,则不显示该专辑)
6.“title track”(主打歌曲)就是song(歌曲)和(title)(专辑名)相同的曲目。请找出所有title tracks(主打曲目)
7.同名专辑就是专辑名和artist(作者名)相同的专辑(列如,乐队‘Blur’的专辑'Blur'就是同名专辑)。请列出同名专辑
8.找出两张以上专辑出现过的歌曲,同时包含出现的次数
9.一张物超所值的专辑就是专辑中每首歌曲的定价低于50pence(便士)的专辑,请找出这些专辑,并显示专辑标题,专辑价格和曲目总数
10.Wagner‘s Ring cycle的专辑有173track(曲目),Bing Crosby的专辑包含101track(曲目)。请根据专辑中包含曲目的多少,从多到少一次列出这些专辑的名称和包含的总曲目数目。

就上面10个小题,认真快速的帮我做一下,谢谢了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
-- 1.找出包含song(歌曲)‘Alison’的专辑title(名称)和artist(作者)
SELECT  a.title,a.artist  FROM  album a,track t  WHERE  a.albumCode = t.album  AND  t.song =  'Alison'
-- 2.那个artist(作者)录制了送(歌曲)‘Exodus’
SELECT  a.artist  FROM  album a,track t  WHERE  a.albumCode = t.album  AND  t.song =  'Exodus'
-- 3.列出track(曲目表)中所有的‘Blur’ album(专辑)的song(歌曲)
SELECT  t.song  FROM  album a,track t  WHERE  a.albumCode = t.album  AND  a.title =  'Blur'
-- 4.显示每张album(专辑)的title(名称)和包含的track曲目数
SELECT  a.title, COUNT (t.dsk) track_num  FROM  album a,track t  WHERE  a.albumCode = t.album 
GROUP  BY  a.title
-- 5.显示每张album(专辑)的title(民称)以及曲目民称中包含‘Heart’的曲目总数量(如果专辑中如果没有满足条件的曲目,则不显示该专辑)
SELECT  a.title, SUM ( CASE  WHEN  t.song  LIKE  '%Heart%'   THEN  ELSE  END ) track_num  FROM  album a,track t  WHERE  a.albumCode = t.album 
GROUP  BY  a.title
HAVING  ( SUM ( CASE  WHEN  t.song  LIKE  '%Heart%'   THEN  ELSE  END )>0 )
-- 6.“title track”(主打歌曲)就是song(歌曲)和(title)(专辑名)相同的曲目。请找出所有title tracks(主打曲目)
SELECT  a.title  FROM  album a,track t  WHERE  a.albumCode = t.album  AND  t.song = a.title
-- 7.同名专辑就是专辑名和artist(作者名)相同的专辑(列如,乐队‘Blur’的专辑'Blur'就是同名专辑)。请列出同名专辑
SELECT  a.title  FROM  album a,track t  WHERE  a.albumCode = t.album  AND  a.artist = a.title
--8.找出两张以上专辑出现过的歌曲,同时包含出现的次数
 
SELECT  a.title,t.song, COUNT ( DISTINCT  t.song)  FROM  album a,track t  WHERE  a.albumCode = t.album 
HAVING ( COUNT ( DISTINCT  t.song)>2)
-- 9.一张物超所值的专辑就是专辑中每首歌曲的定价低于50pence(便士)的专辑,请找出这些专辑,并显示专辑标题,专辑价格和曲目总数
SELECT  a.title,a.price, COUNT (t.dsk) track_num  FROM  album a,track t  WHERE  a.albumCode = t.album  AND  a.price <50
GROUP  BY  a.title,a.price
-- 10.Wagner‘s Ring cycle的专辑有173track(曲目),Bing Crosby的专辑包含101track(曲目)。请根据专辑中包含曲目的多少,
-- 从多到少一次列出这些专辑的名称和包含的总曲目数目。
SELECT  a.title,a.price, COUNT (t.dsk) track_num  FROM  album a,track t  WHERE  a.albumCode = t.album  AND  a.artist  IN ( 'Wagner' 's Ring cycle' , 'Bing Crosby' )
ORDER  BY  track_num  DESC
追问:
谢谢你哈,我去测试一下。

再急着问你一个小问题:怎么把已经创建好的表中的设置了主键的属性加上AOTU_increment呢。我试了alter 的语句 就是不能通过运行。
追答:
你用的是什么工具?phpadmin ? navicat for mysql? SQLYog?
SQL 不好直接修改 ,因为已存在主键了
追问:
navicat for mysql 不能用alter 语句直接加吗? 我试了好像不行呀
追答:
直接在 创建 表的时候 添加吧
提问者评价
谢谢!
评论 | 给力2 不给力0

为您推荐:

按默认排序|按时间排序

其他1条回答

举报违规检举侵权投诉|2015-10-24 23:10热心网友
挣点分不容易呀,不过咱不缺分,所以,路过。
评论(1) | 给力0 不给力0