查询至今没有人借阅的图书的书名和出版社。 (用SQL子查询)
“图书”表记录书号书名作者出版社价格借出有破损备注J1022C语言程序设计刘志强清华大学出版社22.00J1035网页设计技术王芳电子工业出版社21.00J1039图形图...
“图书”表记录
书号 书名 作者 出版社 价格借出有破损 备注
J1022 C语言程序设计 刘志强清华大学出版社 22.00
J1035 网页设计技术 王芳 电子工业出版社 21.00
J1039 图形图像处理 王芳 电子工业出版社 25.00
W1101 红楼梦 曹雪芹 文化艺术出版社 32.50 是
W2210 基督山伯爵 大仲马 文化艺术出版社 30.60 是
“借书登记”表记录
流水号 借书证号 书号 借书日期 还书日期
1 502001 W2210 2013/10/08 2013/10/29
2 502001 J1035 2013/07/05 2013/09/10
3 512018 W1101 2013/03/20 2013/04/21
4 522100 W1101 2012/11/15 2012/12/06
5 522100 W2210 2014/11/15 2014/11/30
6 522100 J1035 2015/05/21 2015/06/22
7 522106 W1101 2015/03/16 2015/5/16
8 522106 W2210 2015/8/12 2015/9/20
9 532150 J1039 2015/08/20
SELECT 书名,出版社
FROM 借书登记 ,图书
WHERE 书号 not in ( 图书.书号=借书登记.书号)这是我做的, 我做的是错的,,,求解 展开
书号 书名 作者 出版社 价格借出有破损 备注
J1022 C语言程序设计 刘志强清华大学出版社 22.00
J1035 网页设计技术 王芳 电子工业出版社 21.00
J1039 图形图像处理 王芳 电子工业出版社 25.00
W1101 红楼梦 曹雪芹 文化艺术出版社 32.50 是
W2210 基督山伯爵 大仲马 文化艺术出版社 30.60 是
“借书登记”表记录
流水号 借书证号 书号 借书日期 还书日期
1 502001 W2210 2013/10/08 2013/10/29
2 502001 J1035 2013/07/05 2013/09/10
3 512018 W1101 2013/03/20 2013/04/21
4 522100 W1101 2012/11/15 2012/12/06
5 522100 W2210 2014/11/15 2014/11/30
6 522100 J1035 2015/05/21 2015/06/22
7 522106 W1101 2015/03/16 2015/5/16
8 522106 W2210 2015/8/12 2015/9/20
9 532150 J1039 2015/08/20
SELECT 书名,出版社
FROM 借书登记 ,图书
WHERE 书号 not in ( 图书.书号=借书登记.书号)这是我做的, 我做的是错的,,,求解 展开
2个回答
展开全部
所谓子查询是说在某个查询中,以另外一个查询的结果为本次查询的一部分结果(子查询用在from之前)或者以另外一个查询的结果为条件的查询(子查询用在where之后)。
如果用not in应该是
select 书名,出版社
FROM 图书 where 书号 not in (select 书号 from 借书登记)
也就是以借书登记表的查询结果为条件。
你写的方式是联合查询,不过一般来说不XXXX,很少用联合查询(条件很多时可以考虑),联合查询多用在肯定的说法。比如曾经借出的图书的书名和出版社,那么就是
SELECT 书名,出版社
FROM 借书登记 ,图书
where 图书.书号=借书登记.书号
如果用not in应该是
select 书名,出版社
FROM 图书 where 书号 not in (select 书号 from 借书登记)
也就是以借书登记表的查询结果为条件。
你写的方式是联合查询,不过一般来说不XXXX,很少用联合查询(条件很多时可以考虑),联合查询多用在肯定的说法。比如曾经借出的图书的书名和出版社,那么就是
SELECT 书名,出版社
FROM 借书登记 ,图书
where 图书.书号=借书登记.书号
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询