作者mozzan (mozzan)
看板Database
标题[SQL ] (考题类)查询的问题
时间Sun Aug 26 22:24:06 2012
三、考虑以下关联式纲要(Relational Schema):
员工(员工编号, 姓名, 部门, 年纪)
书本(书本编号, 书名, 作者, 出版商)
借书纪录(员工编号, 书本编号, 日期)
请以SQL写出下列查询。
(一)列出曾借阅「远流」出版的书的所有员工的姓名。(10分)
(二)列出曾借阅所有「远流」出版的书的所有员工的姓名。(10分)
(三)列出曾借阅五本以上「远流」出版的书的所有员工的姓名。(10分)
以下是我的答案,有没有大大可以帮忙看是否有问题??
(一)
Select 姓名
From 员工
Where 员工编号 IN (Select 借书记录.员工编号
From 借书记录,书本
Where 借书记录.书本编号 = 书本.书本编号
AND 出版商='远流' )
(二)
Select 姓名
From 员工
Where Not Exists ((Select 书本.书本编号
From 书本
Where 出版商='远流' )
EXCEPT
(Select 借书记录.书本编号
From 借书记录,书本
Where 员工.员工编号 = 借书记录.员工编号
AND 借书记录.书本编号 = 书本.书本编号
AND 出版商= '远流'
))
(三)
Select 姓名
From 员工
Where (Select COUNT(*)
From 借书记录,书本
Where 员工.员工编号 = 借书记录.员工编号
AND 借书记录.书本编号 = 书本.书本编号
AND 出版商= '远流') >= 5 );
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.246.163.136
1F:推 Adonisy:你还要考虑,要用 ansi sql来写 08/27 16:21
2F:→ Adonisy:而且你的题目好像不对 08/27 16:23
3F:→ tedcat:2不对...要先把远流所有书找到後,再找哪个员工借过全部 08/29 01:23