24小时热门版块排行榜    

查看: 2980  |  回复: 23

淡淡0987

铜虫 (初入文坛)

[求助] 一个简单的SQL查询 已有1人参与

1. 用SQL语言实现下述功能。
设有一个简单的图书管理数据库,包含如下三个关系表:
图书关系表:Book(BNO, Title, Author, Publisher, Price),
其中BNO, Title, Author, Publisher, Price分别表示图书的总编号、书名、
作者、出版单位和单价;
读者关系表:Reader(LNO,  Name, Unit),
其中LNO,  Name, Unit分别表示读者的借书证号、姓名和所在单位;
借阅关系表:Loan(LNO, BNO, Date)
  其中LNO, BNO, Date分别表示借阅图书的借书证号、所借图书的总编号和借书日期。
查询至少借阅了0287号图书和0398号图书的读者号。
回复此楼
且行且珍惜
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

淡淡0987

铜虫 (初入文坛)

引用回帖:
2楼: Originally posted by hx_zm at 2013-10-20 16:27:58
select lno from Loan where  BNO = '0287'  and lno in (select lno from Loan where  BNO = '0398' )

这个不对,至少借阅,不是只借阅
且行且珍惜
3楼2013-10-20 22:07:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

adong76

禁虫 (正式写手)

感谢参与,应助指数 +1
本帖内容被屏蔽

5楼2013-10-21 10:33:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

hx_zm

铁杆木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
select lno from Loan where  BNO = '0287'  and lno in (select lno from Loan where  BNO = '0398' )
2楼2013-10-20 16:27:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hx_zm

铁杆木虫 (著名写手)

引用回帖:
3楼: Originally posted by 淡淡0987 at 2013-10-20 22:07:47
这个不对,至少借阅,不是只借阅...

逻辑都搞不清
4楼2013-10-21 08:34:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

淡淡0987

铜虫 (初入文坛)

引用回帖:
5楼: Originally posted by adong76 at 2013-10-21 10:33:02
两种方法:
1. 采用子查询:(思路为在内部子查询结果基础上,按照读者号分组,如果某个组中成员数量为2,就代表该读者借阅过那两本书)
select lno from
(select distinct bno, lno from loan
where bno=’0 ...

子查询里where语句感觉不对,自身连接限制最后得出结果只有借阅0287和0398的读者号
且行且珍惜
6楼2013-10-21 15:33:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

adong76

禁虫 (正式写手)

本帖内容被屏蔽

7楼2013-10-21 15:42:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

淡淡0987

铜虫 (初入文坛)

引用回帖:
7楼: Originally posted by adong76 at 2013-10-21 15:42:50
自连接的确是有问题,达不到你的要求,请忽略它。
子查询内部虽然采用的是“或者”运算符,得到借阅其中一本图书的读者,但经过主查询中的分组和having条件筛选,保留下来的都是同时借过两本书的读者了,感觉这个 ...

你会用exists吗,,我没看懂,感觉这个可以解决,就是不会用
且行且珍惜
8楼2013-10-21 18:10:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

稻草菲菲

新虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
M=select * FROM LOAN WHERE BNO=0287
N =select * from loan where bno=0369
select * from M inner join N on m.lno=n.lno

[ 发自手机版 http://muchong.com/3g ]
9楼2013-10-21 19:48:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

adong76

禁虫 (正式写手)

本帖内容被屏蔽

10楼2013-10-21 19:54:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 淡淡0987 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 环境工程调剂 +3 大可digkids 2026-03-16 3/150 2026-03-16 09:09 by DDDddddmm
[考研] 中科院材料273求调剂 +3 yzydy 2026-03-15 3/150 2026-03-15 21:15 by ms629
[考研] 070305求调剂 +3 mlpqaz03 2026-03-14 4/200 2026-03-15 11:04 by peike
[考研] 材料专硕326求调剂 +4 墨煜姒莘 2026-03-15 4/200 2026-03-15 11:02 by dyw
[考研] 本科南京大学一志愿川大药学327 +3 麦田耕者 2026-03-14 3/150 2026-03-14 20:04 by 外星文明
[考研] 267一志愿南京工业大学0817化工求调剂 +5 SUICHILD 2026-03-12 5/250 2026-03-14 14:53 by jean5056
[考研] 330求调剂 +3 ?酱给调剂跪了 2026-03-13 3/150 2026-03-14 10:13 by JourneyLucky
[考研] 295复试调剂 +5 简木ChuFront 2026-03-09 5/250 2026-03-14 01:29 by JourneyLucky
[基金申请] 有必要更换申报口吗 20+3 fannyamoy 2026-03-11 3/150 2026-03-14 00:52 by zhanghaozhu
[考研] 312求调剂 +6 陌宸希 2026-03-10 6/300 2026-03-14 00:40 by JourneyLucky
[考研] 308求调剂 +3 是Lupa啊 2026-03-10 3/150 2026-03-14 00:30 by JourneyLucky
[考研] 341求调剂 +4 番茄头--- 2026-03-10 4/200 2026-03-13 23:12 by JourneyLucky
[考研] 26考研求调剂 +5 丶宏Sir 2026-03-13 5/250 2026-03-13 13:05 by JourneyLucky
[考研] 0703一志愿211 285分求调剂 +4 ly3471z 2026-03-13 4/200 2026-03-13 13:00 by JourneyLucky
[考研] 0856化学工程280分求调剂 +4 shenzxsn 2026-03-11 4/200 2026-03-13 11:55 by ymwdoctor
[考博] 福州大学杨黄浩课题组招收2026年专业学位博士研究生,2026.03.20截止 +3 Xiangyu_ou 2026-03-12 3/150 2026-03-13 09:36 by duanwu655
[考研] 一志愿河海大学085900土木水利专硕279求调剂不挑专业 +4 SunWwWwWw 2026-03-10 8/400 2026-03-13 02:23 by SunWwWwWw
[考研] 纺织、生物、化学、材料相关专业招生了 +4 耶耶业 2026-03-09 7/350 2026-03-12 19:05 by Equinoxhua
[考研] 420求调剂 +4 莫向外求11 2026-03-10 6/300 2026-03-12 14:41 by ruiyingmiao
[考研] 化工0817调剂 +8 灿若星晨 2026-03-10 8/400 2026-03-10 22:44 by 星空星月
信息提示
请填处理意见