【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);

相关推荐
wh_xia_jun1 小时前
mybatis xml 配置中,jdbcType=VARCHAR 的作用
数据库·oracle·tomcat
程序猿小D2 小时前
第24节 Node.js 连接 MongoDB
数据库·mongodb·npm·node.js·编辑器·vim·express
果子⌂3 小时前
PostgreSQL --数据库操作
linux·数据库·postgresql
SeaTunnel3 小时前
如何将SeaTunnel MySQL-CDC与Databend 高效整合?格式与方案全解析
数据库·mysql·开源·数据集成·seatunnel·databend
在肯德基吃麻辣烫3 小时前
《Redis》持久化
数据库·redis·缓存
xiaolyuh1233 小时前
基于binlog恢复误删除MySQL数据
数据库·mysql
Gauss松鼠会4 小时前
GaussDB分布式数据库调优方法总结:从架构到实践的全链路优化指南
数据库·分布式·sql·database·gaussdb
码海漫游者84 小时前
让Python成为你的网站引擎:Django全栈开发初体验!!!
数据库·python·其他·django
Databend4 小时前
玩转 Databend UDF
数据库
曼汐 .4 小时前
数据库管理与高可用-PostgreSQL日常维护
数据库