mysql表数据查询中等难度练习题,请大家帮我做一下。200分!!!
音乐数据库有两张表,其中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分!!!
音乐数据库有两张表,其中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
1
ELSE
0
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
1
ELSE
0
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
为您推荐:
mysql的相关知识
- 2012-07-30mysql数据查询去重复2
- 2009-01-26MySQL的基本命令421
- 2009-11-26mysql基本语句详细教程148
- 2009-04-26mysql的修改密码201
- 2011-03-31PHP mysql 数据查询.1