Oracle练习题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

(CORE-E-001)综合练习定义CORE-F-001——CORE-F-005的综合练习:1.用sqlplus连接数据库时,为什么会出Oraclenotavailable错误?Oracleserver是否正常启动,ORACLE_SID是否正常设置2.找出员工的姓中(last_name)第三个字母是a的员工名字selectnamefroms_empwherenamelike“__a%”;3.找出员工名字中含有a和e的selectnamefroms_empwherenamelike“%a%”andnamelike“%e%”;4.找出所有有提成的员工,列出名字、工资、提出,显示结果按工资从小到大,提成从小到大的顺序Selectfirst_name,salary,commission_pctfroms_empwherecommissionisnotnullorderbysalary,commission_pct;5.42部门有哪些职位Selectdistincttitlefroms_empwheredept_id=42;6.除了Sales部门,还有哪些部门,列出部门号、部门名称。Selectdeptid,deptnamefroms_deptwherename!=’Sales’;Selectdept0d,deptnamefroms_deptwherename’Sales’;7.显示工资不在1000到1550之间的员工信息:名字、工资,按工资从大到小排序。Selecte.name,e.salaryfroms_empwheree.salary1000||e.salary1550orderbye.salarydesc;8.显示职位为StockClerk和SalesRepresentative,年薪在14400和17400之间的员工的信息:名字、职位、年薪。Selectname,title,salary*12froms_empwheretitlein(‘StockClerk’,’SalesRepresentative’)andsalaryinbetween14400and17400;9.解释selectid,commission_pctfroms_empwherecommission_pctisnull(是否空)和selectid,commission_pctfroms_empwherecommission_pct=null(值是否空)(没有提成的员工ID)的输出结果。10.select语句的输出结果为select*froms_dept;select*froms_emp;select*froms_region;select*froms_customer;……当前用户有多少张表,结果集有多少条记录。select'select*from'||table_name||';'fromuser_tables;11.判断selectfirst_name,dept_idfroms_empwheresalary'1450'是否抱错,为什么?类型转换(CORE-E-002)综合练习定义CORE-F-006——CORE-F-008的综合练习:1.改变NLS_LANG的值,让selectto_char(salary*12,’L99,999.99’)froms_emp输出结果的货币单位是¥和$selectto_char(salary*12,’$99,999.99’)froms_emp(自己)setenvNLS_LANG'SIMPLIFIEDCHINESE_CHINA.ZHS16GBK'setenvNLS_LANG'AMERICAN_AMERICA.US7ASCII'2.列出每个员工的名字,工资、涨薪后工资(涨幅为8%),元为单位进行四舍五入selecte.first_name,e.salary,(ROUND(e.salary*(1+0.08),0))froms_empe;3.找出谁是最高领导,将名字按大写形式显示selectupper(first_name)froms_empwheremanager_idisnull;4.Ben的领导是谁(Ben向谁报告)。selecta.first_namefroms_empajoins_empbona.id=b.manager_idandb.first_name=’Ben’5.Ben领导谁。(谁向Ben报告)。selecta.first_namefroms_empajoins_empbonrightb.id=a.manager_idandb.first_name=’Ben’6.哪些员工的工资高于他直接上司的工资,列出员工的名字和工资,上司的名字和工资Selecta.first_name,a.salary,b.first_name,b.salaryfroms_empajoins_empbona.manager_id=b.idanda.salaryb.salary哪些员工和Biri(last_name)同部门selecta.first_namefroms_empawherea.id=(selectb.idfroms_empbwhereb.first_name=’Biri’);selecta.first_namefroms_empajoins_empbonb.first_name='Biri'7.哪些员工跟Smith(last_name)做一样职位selecta.first_namefroms_emparightjoins_empbona.title=b.titleandb.last_name=’Smith’anda.last_name’Smith’;8.哪些员工跟Biri(last_name)不在同一个部门selecta.first_namefroms_empajoins_empbon(a.dept_idb.dept_id||b.dept_idisnull)andb.last_name='Biri'9.哪些员工跟Smith(last_name)做不一样的职位Selecta.first_namefroms_empajoins_empbona.titleb.titleandb.last_name=’Smith’10.显示有提成的员工的信息:名字、提成、所在部门名称、所在地区的名称S_regionselecte.first_name,e.commission_pct,d.name,r.namefroms_empejoins_deptdone.dept_id=d.idandcommission_pctisnotnulljoins_regionrond.region_id=r.id;11.显示Operations部门有哪些职位selectdistincte.titlefroms_empejoins_deptdone.dept_id=d.idandd.name='Operations'12.整个公司中,最高工资和最低工资相差多少selectto_char(max(salary)-min(salary),'$99,999')afroms_emp13.提成大于0的人数selectcount(id)froms_empwherecommission_pct0;14.显示整个公司的最高工资、最低工资、工资总和、平均工资,保留到整数位。selectmax(salary),min(salary),sum(salary),round(avg(salary))froms_emp;15.整个公司有多少个领导selectcount(distinctmanager_id)froms_emp;16.列出在同一部门入职日期晚但工资高于其他同事的员工:名字、工资、入职日期selectdistinct(a.first_name),a.dept_id,a.salary,a.start_datefroms_empajoins_empbona.salaryb.salaryanda.start_dateb.start_dateanda.dept_id=b.dept_id(CORE-E-003)综合练习定义CORE-F-009——CORE-F-011的综合练习:1.各个部门平均、最大、最小工资、人数,按照部门号升序排列Selectavg(salary),max(salary),min(salary),count(*)froms_empgroupbydept_idorderbydept_id2.各个部门中工资大于1500的员工人数selecte.dept_id,count(*)froms_empewheree.salary1500groupbye.dept_id各个部门平均工资和人数,按照部门名字升序排列3.列出每个部门中有同样工资的员工的统计信息,列出他们的部门号,工资,人数selecte.dept_id,e.salary,count(*)froms_empegroupbye.dept_id,e.salaryhavingcount(*)=24.该部门中工资高于1000的员工数量超过2人,列出符合条件的部门:显示部门名字、地区名称selectmax(d.name),max(r.name)froms_empejoins_deptdone.dept_id=d.idande.salary1000joins_regionrond.region_id=r.idgroupbye.dept_idhavingcount(*)25.哪些员工的工资,高于整个公司的平均工资,列出员工的名字和工资(降序)Selecte.first_name,e.salaryfroms_empewheree.salary(selectavg(salary)froms_emp)orderbye.salarydesc6.哪些员工的工资,介于32和33部门(33高些)平均工资之间Selecte.first_name,e.salaryfroms_empewheree.salarybetween(selectavg(salary)froms_empwheredept_id=’32’)and(selectavg(salary)froms_empwheredept_id=’33’);7.所在部门平均工资高于1500的员工名字Selecte.first_name,e.dept_idfroms_empewheree.dept_idin(selectdept_idfroms_empgroupbydept_idhavingavg(salary)1500)8.列出各个部门中工资最高的员工的信息:名字、部门号、工资selectfirst_name,dept_id,salaryfroms_empwhere(dept_id,salary)in(selectdept_id,max(salary)froms_empgroupbydept_id)9.最高的部门平均工资值的是多少10.哪些部门的人数比32号部门的人数多11.Ben的领导是谁(非关联子查询)12.Ben领导谁(非关联子查询)13.Ben的领导是谁(关联子查询)14.Ben领导谁(关联子查询)15.列出在同一部门共事,入职日期晚但工资高于其他同事的员工:名字、工资、入职日期(关联子查询)16.哪些员工跟Biri(last_name)不在同一个部门(非关联子查询)17.哪些员工跟Biri(last_name)不在同一个部门(关联子查询)18.Operations部门有哪些职位(非关联子查询)19.Operations部门有哪些职位(关联子查询)CORE-E-004综合练习定义CORE-F-012——CORE-F-017的综合练习:1.显示员工的名字、入职日期、周几入职(用英文全拼),显示顺序从周一至周日。selectfirst_name||last_name,start_date,to_char(start_date,'DAY')f

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功