资源描述:
《【精品文档】sql经典查询三》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本文使用ORACLE自带的人力资源(HR)实例数据,本文所用表结构如下:HR.EMPLOYEES员工表结构如下:HR.DEPARTMENTS表结构如下:HR.REGIONS表结构如下:SQL>DESCHR.REGIONS;NameTypeNullableDefaultComments----------------------------------------------REGION_IDNUMBERREGION_NAMEVARCHAR2(25)Y用SQL完成以下问题列表:1.让SELECTTO_CHAR(SALARY,'L99,999.9
2、9')FROMHR.EMPLOYEESWHEREROWNUM<5输出结果的货币单位是¥和$。2.列出前五位每个员工的名字,工资、涨薪后的的工资(涨幅为8%),以“元”为单位进行四舍五入。3.找出谁是最高领导,将名字按大写形式显示。4.找出First_Name为David,Last_Name为Austin的直接领导名字。5.First_Name为Alexander,Last_Name为Hunold领导谁。(谁向David报告)。6.哪些员工的工资高于他直接上司的工资,列出员工的名字和工资,上司的名字和工资。7.哪些员工和Chen(LAST_NA
3、ME)同部门。8.哪些员工跟DeHaan(LAST_NAME)做一样职位。9.哪些员工跟Hall(LAST_NAME)不在同一个部门。10.哪些员工跟William(FIRST_NAME)、Smith(LAST_NAME)做不一样的职位。11.显示有提成的员工的信息:名字、提成、所在部门名称、所在地区的名称。12.显示Executive部门有哪些职位。13.整个公司中,最高工资和最低工资相差多少。14.提成大于0的人数。15.显示整个公司的最高工资、最低工资、工资总和、平均工资保留到整数位。16.整个公司有多少个领导。17.列出在同一部门入职
4、日期晚但工资高于其他同事的员工:名字、工资、入职日期。各试题解答如下(欢迎大家指出不同的方法或建议!):/*--------1、改变NLS_LANG的值,让SELECTTO_CHAR(SALARY,'L99,999.99')FROMHR.EMPLOYEESWHEREROWNUM<5输出结果的货币单位是¥和$。---------*/-----在没有设置NLS_LANG的情况下:SQL>SELECTTO_CHAR(SALARY,'L99,999.99')2FROMHR.EMPLOYEES3WHEREROWNUM<5;TO_CHAR(SALARY,
5、'L99,999.99')----------------------------¥24,000.00¥20,000.00¥20,000.00¥9,000.00SQL>SELECTTO_CHAR(SALARY,'$99,999.99')2FROMHR.EMPLOYEES3WHEREROWNUM<5;TO_CHAR(SALARY,'$99,999.99')----------------------------$24,000.00$20,000.00$20,000.00$9,000.00/*--说明:对于'$99,999.99'格式符:L:表示
6、强制显示当地货币符号$:表示显示美元符号9:表示一个数字0:表示强制0显示.:表示一个小数点,:表示一个千位分隔符--------------*//*--------2、列出前五位每个员工的名字,工资、涨薪后的的工资(涨幅为8%),以“元”为单位进行四舍五入。---------*/SQL>SELECTFIRST_NAME,SALARY,ROUND(SALARY*1.08)FROMHR.EMPLOYEES2WHEREROWNUM<=5;FIRST_NAMESALARYROUND(SALARY*1.08)---------------------
7、---------------------------Steven24000.0025920Neena20000.0021600Lex20000.0021600Alexander9000.009720Bruce6000.006480/*--------3、找出谁是最高领导,将名字按大写形式显示。---------*/SQL>SELECTUPPER(FIRST_NAME
8、
9、''
10、
11、LAST_NAME)ASNAME2FROMHR.EMPLOYEES3WHEREMANAGER_IDISNULL;NAME-----------------------
12、-----------------------STEVENKING/*--------4、找出David的直接领导的名字。---------*/SQL>SELECT