oracle练习题
ROWNUM的应用:1查询emp表的前5条数据SELECTFROMempWHEREROWNUMlt52查询emp表的第6到第10条记录SELECTFROMSELECTROWNUMr
testr
gt5FROMempWHEREROWNUMlt10TESTWHERE
ROWID的应用:删除表中的重复记录哪些记录有重复的记录SELECTd
amelocMINROWIDFROMcopy_deptGROUPBYd
amelocHAVINGCOUNTdept
ogt1
不能删除的数据SELECTd
amelocMINROWIDFROMcopy_deptGROUPBYd
ameloc
DELETEFROMcopy_deptWHEREROWIDNOTINSELECTMINROWIDFROMcopy_deptGROUPBYd
ameloc
1、列出至少有一个员工的部门编号、名称,并统计出这些部门的平均工资、最低工资、最高工资SELECTddept
odd
ameCOUNTemp
oAVGsalMINsalMAXsalFROMempedeptdWHEREedept
oddept
oGROUPBYddept
odd
ameHAVINGCOUNTemp
ogt1ORDERBYdept
o2、列出薪金比“SMITH”或“ALLEN”多的所有员工的编号、姓名、部门名称、其领导的姓名。SELECTeemp
oee
amedd
ameFROMempedeptdempmWHEREedept
oddept
oANDesalgtALLSELECTsalFROMempWHEREe
ameIN39SMITH3939ALLEN39ANDemgrmemp
o3、列出所有员工的编号、姓名及其直接上级的编号、姓名,显示的结果按领导年工资的降序排
f序;SELECTeemp
oee
amememp
oFROMempeempmWHEREemgrmemp
oORDERBYi
comeDESC4、列出受雇日期早于其直接上级的所有员工的编号、姓名、部门名称、部门位置、部门人数SELECTeemp
oee
ameedept
ome
amequot上级领导quotdd
amedlocFROMempeempmdeptdSELECTdept
od
oCOUNTemp
ocouFROMempGROUPBYdept
otempWHEREemgrmemp
oANDehiredateltmhiredateANDedept
oddept
oANDedept
otempd
o当查询显示的时候需要统计信息,但是又不能直接使用统计函数查询的话,通过子查询在from子句之后进行统计。5、列出部门名称和这些部门的员工信息(数量、平均工资),同时列出那些没有员工的部门。SELECTddept
odd
ameCOUNTeemp
oAVGesalFROMempedeptdWHEREedept
oddept
oGROUPBYddept
odd
amedlocORDERBYddept
o6、列出所有“CLERK”的姓名及部门名称,部门人数,工资等级SELECTee
amedd
ametempi
comesgradeFROMempedeptdSELECTdept
od
oCOUNTemp
oi
comeFROMempGROUPBYdept
otempsalgradesWHEREjob39CLERK39ANDedept
oddept
oANDedept
otempd
oANDesalBETWEENslosalANDshisal7、列出最低薪金大于1500的各种工作及从事此工作的全部雇员人数及所在部门名称、位置、平均工资SELECTtempjobtempcou
tdd
amedlocee
ameresAVGFROMdeptdSELECTjobjobCOUNTemp
ocou
tFROMempGROUPBYjobHAVINGMINsalgt1500tempempeSELECTdept
od
oAVGsalAVGFROMempGROUquot上级编号quotme
amequot上级姓名qur