教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 资格考试 >

Oracle数据库入门练习题参考答案

来源:网络收集 时间:2026-01-27
导读: 《数据库入门》练习题参考答案 1、查询所有药品的医疗项目编码、名称和单价,按照单价的降序排序。 select ylxmbm,ylxmmc,dj from dw.medi_item where ylxmlb='1' order by dj desc; 运行结果: YLXMBM 100003 100002 100020 100001 100019 2、查询与’ 安娜

《数据库入门》练习题参考答案

1、查询所有药品的医疗项目编码、名称和单价,按照单价的降序排序。 select ylxmbm,ylxmmc,dj from dw.medi_item where ylxmlb='1' order by dj desc; 运行结果:

YLXMBM 100003 100002 100020 100001 100019

2、查询与’ 安娜’医师在同一个科室工作的医师姓名。 select b.xm

from dw.doctor a,dw.doctor b

where a.ksbm=b.ksbm and a.xm='安娜' and b.xm<>’安娜’; 运行结果: B.XM 朱丽叶 安娜

3、查询未结算的FYID及其总费用、报销费用和自付费用。 select fyid,zje,bxje,zfje from dw.patient_script_genl where jshid is null; 运算结果:

1

YLXMMC 庆大霉素 利君沙 苄星青霉素 阿莫西林 苄星青霉素 DJ 20.80 19.10 18.20 15.30 14.30 FYID 20120514008 20130106110

ZJE 162.70 33.60 BXJE 158.02 30.74 ZFJE 4.68 2.86 4、查询使用过’ 阿莫西林’药品的病人个人编码和姓名。 select grbm,xm from dw.per_natl

where grbm in (select grbm

from dw.medi_item a,dw.patient_script_detl b,

dw.patient_script_genl c

where ylxmmc='阿莫西林'and a.ylxmbm=b.ylxmbm and

b.fyid=c.fyid);

运行结果:

GRBM 320106198907012569 411502194703160816

5、查询2012年的平均报销金额。 select avg(bxje)

from dw.patient_script_genl

where to_char(fyfsrq,'YYYY.MM.DD') between '2012.01.01'and '2012.12.31'; 运行结果: AVG(BXJE) 154.31

6、查询GRBM是’ 320106198907012569’的病人的姓名、出生日期、家庭住址和性别(其中性别为’1’表示男性,性别为’2’表示女性,请将数据库中的’1’和’2’转换为’男’和’女’;CDRQ以’YYYY.MM.DD’的形式显示)。

select xm,to_char(csrq,'YYYY.MM.DD') CSRQ, decode(xb,'1','男','2','女') XB

2

XM 王熙凤 唐僧 from dw.per_natl

where grbm='320106198907012569'; 运算结果 XM 王熙凤

7、查询重名的病人姓名及该姓名重名的人数。 select xm,count(*) from dw.per_natl group by xm having count(xm)>1; 运行结果:

XM 赵云

8、查询使用了fyid为’20120120001’使用的全部医疗项目的费用凭单编码。 select distinct a.fyid

from dw.patient_script_detl a where not exists (select 1

from dw.patient_script_detl b

where b.fyid='20120120001' and not exists (select 2

from dw.patient_script_detl c

where b.ylxmbm=c.ylxmbm and a.fyid=c.fyid)); 或者:

select distinct a.fyid

from dw.patient_script_detl a where not exists ((select ylxmbm

from dw.patient_script_detl

3

CSRQ 1989.07.01 XB 女 COUNT(*) 2 where fyid='20120120001') minus

(select ylxmbm

from dw.patient_script_detl b where a. fyid=b.fyid));

运行结果:

FYID 20120120001 20130109108

15、查询报销费用最多的病人的个人编号。 select grbm

from dw.patient_settle group by grbm

having sum(nvl(bxje,0)) >= all (select sum(nvl(bxje,0)) from dw.patient_settle group by grbm);

select grbm

from dw.patient_settle group by grbm

having sum(bxje) >= (select max(sum(bxje)) from dw.patient_settle group by grbm);

运算结果: GRBM 320106198907012569

4

16、查询自付金额最多的科室编码。 17、查询单价最贵的药品编码、名称和单价。 select ylxmbm,ylxmmc,dj from dw.medi_item

where ylxmlb='1' and dj = (select max(dj) from dw.medi_item where ylxmlb='1'); select ylxmbm, ylxmmc,dj from dw.medi_item where ylxmlb = '1'

and ylxmbm not in (select a.ylxmbm

from dw.medi_item a, dw.medi_item b

where a.ylxmlb='1' and b.ylxmlb='1' and a.dj < b.dj);

ylxmbm 100003

ylxmmc 庆大霉素 18、将所有诊疗项目的报销比例提高5%,如果报销比例提高5%后超过100%,则该诊疗项目的报销比例维持原值。 update dw.medi_item set bxbl=bxbl+0.05

where ylxmlb=’2’ and bxbl<=0.95;

21、用SQL实现下列需求:

病人“白龙马”有两次治疗记录,

第一次:“血常规”1次,“单脏器检查”1次,“阿莫西林”2盒,本次治疗由内科的葛朗台医师开具的费用凭单;

第二次:“利君沙”3盒,“诊查费”1次,本次治疗由外科的哈利波特医师开具的费用凭单。

5

请将病人的两次治疗记录分别记录在dw.patient_script_detl和dw.patient_script_genl中,然后进行结算(fyid、jshid和fyfsrq自行确定),最终要求显示结算结果。

insert into dw.patient_script_detl(fyid,sxh,ylxmbm,sl,dj,zje,bxje,zfje) values ('20130411001',1,'200005',1,15,1*15,12,3);

insert into dw.patient_script_detl(fyid,sxh,ylxmbm,sl,dj,zje,bxje,zfje) values('20130411001',2,'200008',1,150,1*150,1*150*0.8,1*150*0.2); ………..

insert into dw.patient_script_genl (fyid,fyfsrq,ysbm,ksbm,grbm,zje,bxje,zfje) select '20130411001',to_date(to_char(sysdate,'yyyy.mm.dd') ,'yyyy.mm.dd'), '015','0001','610122193305225413',sum(zje),sum(bxje),sum(zfje)

from dw.patient_script_detl where fyid='20130411001'; commit;

第二次:。。。。。。。。 update dw.patient_script_genl set jshid='1177'

where grbm='610122193305225413' and jshid is null; insert into dw.patient_settle(jshid,zje,bxje,zfje,grbm)

select '1177',sum(zje),sum(bxje),sum(zfje),'610122193305225413' from dw.patient_script_genl

where grbm='610122193305225413' and jshid =’1177’; commit;

注意:一旦有SQL执行出现问题,需要rollback

6

…… 此处隐藏:1962字,全部文档内容请下载后查看。喜欢就下载吧 ……
Oracle数据库入门练习题参考答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/412060.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)