统计查询和组合查询(SQL SERVER 2008)
一 、实验题目:统计查询和组合查询
二 、实验目的:加深对统计查询的理解,熟练使用聚簇函数
题目六:
药品(编号,名称,价格,厂商)
处方(药品编号,数量,医生编号)
医生 (编号,姓名,科室,职称)
根据上面基本表的信息完成下列查询。
1 统计每种药品的使用数量。
2 统计提供三种以上药品的厂商。
3 统计每个科室“青霉素”用量。
4统计从没开过“秦霉素”的医生信息。
所测试的数据:
INSERT INTO 医生
(编号,姓名,科室,职称)
VALUES
('1001','张三','外科','主刀医师'),
('1002','李四','内科','主任医师'),
('1003','王五','小儿科','主治医师'),
('1004','王二','眼科','主任医师'),
('1005','赵六','妇科','主刀医师'),
('1006','张力','内科','副主任医师'),
('1007','张力','骨科','主刀医师');
select * from 医生INSERT INTO 药品
(编号,名称,价格,厂商)
VALUES
('2001','板蓝根','28.00','云南制药'),
('2002','益气养血口服液','29.00','北方制药'),
('2003','小儿感冒颗粒','35.00','三九药业'),
('2004','999感冒灵','14.00','三九药业'),
('2005','维C银翘片','25.00','北方制药'),
('2006','珍珠明目滴眼液','19.00','三九药业'),
('2007','青霉素','5.00','北方制药'),
('2008','秦霉素','10.00','北方制药');select * from 药品INSERT INTO 处方
(药品编号,数量,医生编号)
VALUES
('2001','2','1002'),
('2001','2','1006'),
('2005','2','1006'),
('2006','2','1004'),
('2002','2','1005'),
('2003','2','1003'),
('2007','3','1002'),
('2007','5','1003'),
('2008','7','1006');
select * from 处方
第一题:
select 药品.名称,sum(数量)'使用数量'
from 药品 left outer join 处方 on (药品.编号 =处方.药品编号 )
group by 药品.名称;
第二题:
select 厂商
from 药品
group by 厂商
having COUNT(编号)>=3;
第三题:
select 医生.科室,sum(处方.数量)'青霉素的用量'
from 医生,处方,药品
where 医生.编号=处方.医生编号
and 药品.编号=处方.药品编号
and 药品.名称 = '青霉素'
group by 医生.科室unionselect 科室,青霉素的用量='0' from 医生 where 科室 not in (select 医生.科室
from 医生,处方,药品
where 医生.编号=处方.医生编号
and 药品.编号=处方.药品编号
and 药品.名称 = '青霉素'
group by 医生.科室
)
第四题:
--组合查询:
select 医生.* from 医生
except
select 医生.* from 医生,处方,药品
where 医生.编号=处方.医生编号
and 处方.药品编号=药品.编号
and 药品.名称='秦霉素';--嵌套查询:
select 医生.* from 医生
where 编号 not in
(select 医生编号 from 处方where 药品编号 in(select 编号 from 药品where 名称='秦霉素')
)
统计查询和组合查询(SQL SERVER 2008)相关推荐
- SQL Server 2008/2012中SQL应用系列及BI学习笔记系列--目录索引
SQL Server 2008中的一些特性总结及BI学习笔记系列,欢迎与邀月交流. 3w@live.cn ◆0.SQL应用系列 1.SQL Server 2008中SQL增强之一:Values新用途 ...
- SQL Server 2008中SQL应用系列及BI学习笔记系列--目录索引 @邀月
邀月 的数据库学习 http://www.cnblogs.com/downmoon/archive/2011/03/10/1980172.html SQL Server 2008中SQL应用系列及BI ...
- 数据库 查询计算机系姓王,数据库上机实验报告——SQL Server 2008 简单查询.doc
实验题目SQL Server 2008 简单查询实验时间2016年5月13日实验地点T616实验成绩 实验性质□验证性 √设计性 □综合性教师评价: □算法/实验过程正确: □源程序/实验内容提交 □ ...
- SQL Server 2008从基础开始学习的历程(1)------创建表与查询
[by:yy] 无论我们学什么呢,都要讲究一个Why,一个How.那么我们为什么要学SQL呢?无非就那么几点. 1.为了适应其他技术,和其他技术配对而学. 我个人的理解呢,只要在IT行业,无论你学什么 ...
- 《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(5)
<Microsoft Sql server 2008 Internals>读书笔记订阅地址: http://www.cnblogs.com/downmoon/category/230397 ...
- SQL Server 2008内存性能监控
以下均是针对Window 32位系统环境下,64位的不在下面描述情况下. 用户模式和内核模式(user mode& kernel mode) 为了防止用户程序访问并篡改操作系统 的关键部分,W ...
- SQL Server 2008 R2 性能计数器详细列表(三)
原文:SQL Server 2008 R2 性能计数器详细列表(三) SQL Server,Deprecated Features 对象: 监视指定为不推荐使用的功能: SQL Server Depr ...
- SQL Server 2008中新增的变更数据捕获(CDC)和更改跟踪
SQL Server 2008中新增的变更数据捕获(CDC)和更改跟踪 SQL Server 2008中SQL应用系列--目录索引 本文主要介绍SQL Server中记录数据变更的四个方法:触发器.O ...
- SQL Server 2008+ 性能调优
目录 机器指标 机器处理时间(Machine Processor TIme) 解释 指导值 另请检查 可能的解决方案 平均Cpu队列长度(Avg.Cpu Queue Length) 等效性能计数器 解 ...
最新文章
- Android Editext监听光标位置
- 华为p30是不是鸿蒙芯片,鸿蒙OS+麒麟1020 5G芯片华为P50 Pro,华为P30沦为白菜机改写历史...
- PAT (Basic Level) Practice (中文)1023 组个最小数 (20 分) (排序)
- Web API应用架构设计分析(2)
- 如何发布你的Android应用程序
- java 与C++ 数据类型大小
- Java 8 Streams:过滤和谓词否定
- python--*args和**kwargs可变参数
- tomcat使用spring-loaded实现应用热部署
- 深度学习(DL)-1.3 浅层神经网络 (Shallow neural networks)
- 汉语词性对照表[北大标准/中科院标准]
- 京东手机评论文本挖掘与数据分析(Python)
- 苹果怎么测是原装屏_Wendy在华强北教你组装苹果8P——屏幕
- 大数据统计分析毕业设计_大数据时代的成绩管理与数据分析 毕业设计论文
- html网页字体出现模糊,浏览器打开网页字体模糊问题的解决方法
- 超分辨率 | 综述!使用深度学习来实现图像超分辨率
- C语言代码实现卡塔尔世界杯球员管理系统
- matlab中如何转动三维图_MATLAB小技巧之:绕任意空间轴旋转三维图形
- C++实现——任意多边形的面积
- 2012年MacBook更换SSD固态硬盘和16G内存条