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

相关推荐
Hi_Lyn36 分钟前
MySQL表的增删改查基础版
数据库·mysql
Feng.Lee43 分钟前
如何判断数据来源缓存还是数据库
数据库·缓存
随缘而动,随遇而安2 小时前
第四十篇 企业级数据仓库建模深度实践:从理论到落地的维度建模全攻略
大数据·数据库·数据仓库·数据分析·数据库架构
SiMmming2 小时前
【算法竞赛】状态压缩型背包问题经典应用(蓝桥杯2019A4分糖果)
c++·经验分享·算法·职场和发展·蓝桥杯·动态规划
风之桠2 小时前
考研总结(初试篇)--双非勇闯985
经验分享·考研
快来卷java3 小时前
MySQL篇(四)事务相关知识详解
java·数据库·mysql·链表
꧁坚持很酷꧂3 小时前
Qt实现鼠标右键弹出弹窗退出
数据库·qt·计算机外设
振鹏Dong3 小时前
MySQL系统库汇总
数据库·mysql
zhslhm3 小时前
HeidiSQL:多数据库管理工具
数据库·数据库管理技巧·heidisql优化方案·开源数据库管理
垂金烟柳3 小时前
CentOS 7上配置SQL Server链接其他SQL Server服务器
服务器·数据库·sqlserver