【SQL server】教材数据库(4)

学生(学号,年龄,性别,系名)

教材(编号,书名,出版社编号,价格)

订购(学号,书号,数量)

出版社(编号,名称,地址)

根据上面基本表的信息完成下列查询。

1统计每位学生订数数量

2 统计每位学生应缴书费。

3 统计订购1000册以上的教材信息。

4 统计没有人定的教材信息。

1、use jiaocai

select student.id,student.age,student.sex,student.dept,count(orders.number) AS 订书数量 from student

left join orders on student.id = orders.s_id

group by student.id,student.age,student.sex,student.dept;

2、select student.id, student.age ,student.sex, student.dept, sum(book.price * orders.number) AS 应缴书费

from student

left join orders on student.id = orders.s_id

left join book on orders.b_id = book.id

group by student.id, student.age ,student.sex, student.dept;

3、由于插入的数据不能满足题目要求,需要修改订购表中的值

select book.id, book.title, book.c_id, book.price

from orders

join book on orders.b_id = book.id

group by book.id, book.title, book.c_id, book.price

having sum(orders.number) >= 1000;

4、组合查询:select jiaocai.bianhao, jiaocai.shuming, jiaocai.chubanshebianhao, jiaocai.jiage

from jiaocai

union

select jiaocai.bianhao, jiaocai.shuming, jiaocai.chubanshebianhao, jiaocai.jiage

from jiaocai

where jiaocai.bianhao not in (select dinggou.shuhao from dinggou);

嵌套查询:select book.id, book.title, book.c_id, book.price

from book

where book.id in (select book.id from book)

or book.id not in (select orders.b_id from orders);

相关推荐
万事大吉CC1 分钟前
【4】深入剖析 Django 之 MTV:ORM 系统核心原理
数据库·python·oracle·django·sqlite
程序阿北4 分钟前
DeepSeek 版 Claude Code:专为 DeepSeek 打造的终端编程 Agent,11.4K+ Stars 说明了这一切。
经验分享
ByteX13 分钟前
MySQL 联合索引创建效果评估
数据库·mysql
逸Y 仙X15 分钟前
文章二十五:ElasticSearch 分页查询
java·大数据·数据库·elasticsearch·搜索引擎·全文检索
今天长肉了吗17 分钟前
风控指标平台实战:大数据量下如何设计分批处理
开发语言·数据库·python
2301_7820404523 分钟前
JavaScript中丢失的this:回调函数中指向改变的对策
jvm·数据库·python
2301_8180084425 分钟前
MySQL从库出现数据同步异常中断_重新获取binlog坐标同步
jvm·数据库·python
四维迁跃26 分钟前
MySQL如何优雅处理数据库连接池耗尽_HikariCP与连接数调优
jvm·数据库·python
X566139 分钟前
Go语言如何做Helm Chart_Go语言Helm打包部署教程【收藏】
jvm·数据库·python
szccyw042 分钟前
如何阻止 HTML 页面在 JavaScript 执行完成前渲染
jvm·数据库·python