数据库应用技术(MySQL)(第二版) (高佳琴)答案 模块3任务3高级查询.docx

数据库应用技术(MySQL)(第二版) (高佳琴)答案 模块3任务3高级查询.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

数据库应用技术(MySQL)

简明门诊管理系统数据高级查询

在简明门诊管理系统数据库his中完成以下操作:

1.数据查询统计

(1)统计80后病人中男女病人的平均年龄、最大年龄、最小年龄,结果按照平均年龄降序排列。

参考SQL语句如下:

SELECTp_Sex,AVG(YEAR(CURDATE())-YEAR(p_Birth))AS平均年龄,

MAX(YEAR(CURDATE())-YEAR(p_Birth))AS最大年龄,

MIN(YEAR(CURDATE())-YEAR(p_Birth))AS最小年龄

FROMpatient

WHEREYEAR(p_Birth)BETWEEN1980AND1989

GROUPBYp_Sex

ORDERBY平均年龄DESC

(2)统计各楼层科室数,结果按照科室数降序排列,结果包含地址、科室数。

参考SQL语句如下:

SELECTdep_AddressAS地址,COUNT(*)AS科室数

FROMdepartment

GROUPBYdep_Address

ORDERBY科室数DESC

(3)统计编号为1的挂号员挂号的各科室的平均费用、最高费用、最低费用,结果包含科室编号、平均费用、最高费用、最低费用,并按平均费用降序排列。

参考SQL语句如下:

SELECTdep_IDAS科室编号,AVG(reg_Fee)AS平均费用,

MAX(reg_Fee)AS最高费用,MIN(reg_Fee)AS最低费用

FROMregister

WHEREw_ID=1

GROUPBYdep_ID

ORDERBY平均费用DESC

(4)统计全院各科室的医生人数。

参考SQL语句如下:

SELECTdep_ID,COUNT(*)AS医生人数

FROMdoctor

GROUPBYdep_ID

(5)统计男女病人人数。

参考SQL语句如下:

SELECTp_SexAS性别,COUNT(*)AS人数

FROMpatient

GROUPBYp_Sex

(6)统计男主任医师人数大于1个的科室编号、主任医师人数,结果按人数降序排列。

参考SQL语句如下:

SELECTdep_IDAS科室编号,COUNT(*)AS主任医师人数

FROMdoctor

WHEREd_Profession=主任医师ANDd_Sex=男

GROUPBYdep_ID

HAVINGCOUNT(*)1

ORDERBY主任医师人数DESC

(7)统计诊疗信息表中2011年11月份诊断信息超过1条记录的医生编号。

参考SQL语句如下:

SELECTd_IDas医生编号

FROMdiagnosis

WHEREYEAR(dia_Time)=2011ANDMONTH(dia_Time)=11

GROUPBYd_ID

HAVINGCOUNT(*)1

(8)统计各年份出生的男病人数,筛选出男病人数不小于2个的年份,结果按人数降序排列。

参考SQL语句如下:

SELECTYEAR(p_Birth)AS年份,COUNT(*)AS男病人数

FROMpatient

WHEREp_Sex=男

GROUPBYYEAR(p_Birth)

HAVINGCOUNT(*)=2

ORDERBYCOUNT(*)DESC

(9)统计各姓氏的女病人数,筛选出女病人数不小于2个的姓氏,结果按人数降序排列。

参考SQL语句如下:

SELECTLEFT(p_Name,1)AS姓氏,COUNT(p_ID)AS女病人数

FROMpatient

WHEREp_Sex=女

GROUPBYLEFT(p_Name,1)

HAVINGCOUNT(p_ID)=2

ORDERBY女病人数DESC

2.连接查询

(1)查询在门诊楼一楼工作的主任医师信息。

参考SQL语句如下:

SELECTdoctor.*

FROMdepartmentJOINdoctorON(department.dep_ID=doctor.dep_ID)

WHEREdep_Address=门诊楼一楼ANDd_Profession=主任医师

SELECTdoctor.*

FROMdepartment,doctor

WHEREdepartment.dep_ID=doctor.dep_IDANDdep_Address=门诊楼一楼ANDd_Profession=主任医师

(2)查询吕正太医生的看病

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档