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

相关推荐
zzzzzz3109 小时前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
倔强的石头_2 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横2 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
冬奇Lab3 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence3 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神3 天前
三、用户与权限管理
数据库·mysql
SM177152118384 天前
NSK紧凑型FA系列丝杠技术详解
经验分享·规格说明书
麦聪聊数据4 天前
数据服务化时代:企业数据能力输出的核心路径
数据库
shushangyun_4 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
DARLING Zero two♡4 天前
【MySQL数据库】数据类型与表约束
数据库·mysql