Oracle基础查询关联查询练习题Word格式文档下载.docx
- 文档编号:19880213
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:12
- 大小:528KB
Oracle基础查询关联查询练习题Word格式文档下载.docx
《Oracle基础查询关联查询练习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Oracle基础查询关联查询练习题Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
4、查询职员表中,员工姓名的第三个字母是A的员工姓名。
selectenamefromemp
whereenamelike'
__a%'
;
5、查询职员表中的职员名字、职位、薪资,并显示为如图-3所示效果:
selectename||'
'
||job||'
||salout_putfromemp;
图-3
提示:
列之间用逗号连接,列头显示成OUT_PUT。
6、查询职员表中员工号、姓名、工资,以及工资提高百分之20%后的结果。
selectempno,ename,sal,sal*1.2fromemp;
7、查询员工的姓名和工资,条件限定为:
工资必须大于1200,并对查询结果按入职时间进行排列,早入职排在前面,晚入职排在后面。
selectename,salfromemp
wheresal>
1200
orderbyhiredateasc;
8、查询ACCOUNT部门以外的其他部门的编号、名称以及所在地。
selectdeptno,dname,locfromdept
wherednamenotin'
accounting'
2Oracle分组查询综合示例
对于如前所示的职员表emp,需要完成如下查询:
1、查询每个部门中每个职位的最高薪水。
selectmax(sal),deptno,jobfromemp
groupbydeptno,job;
2、有SQL语句如下所示:
SELECTa.ename,a.sal,a.deptno,b.maxsal
FROMempa,
(SELECTdeptno,max(sal)maxsal
FROMemp
GROUPBYdeptno)b
WHEREa.deptno=b.deptno
ANDa.sal<
b.maxsal;
此SQL语句的功能是什么?
写出其查询结果。
查询小于每个部门工资最高的员工的姓名,工资。
3、假设员工表中,员工和管理者中间只有一个层级,也就是说,每个员工最多只有一个上级,作为管理者的员工不再有上级管理者,并且,上级管理者相同的员工,他们属于同一个部门。
找出EMP中那些工资高于他们所在部门的管理者工资的员工。
selecte1.enamefromempe1joinempe2
one1.mgr=e2.empno
wheree1.sal>
any(e2.sal)
ande1.mgr=e2.empno;
4、找出EMP中那些工资高于他们所在部门普通员工平均工资的员工。
selecte.ename,e.sal,e.deptno,d.avgsal
fromempe,(
selectdeptno,avg(sal)avgsal
fromemp
groupbydeptno
)d
wheree.sal>
d.avgsal
ande.deptno=d.deptno;
3Oracle分组查询综合示例(提高题,选做)
1、下列SQL语句出错的原因是(B)。
SELECTclassid,AVG(MONTHS_BETWEEN(SYSDATE,entertime))
FROMstudent
WHEREAVG(MONTHS_BETWEEN(SYSDATE,entertime))>
12
GROUPBYclassid
ORDERBYAVG(MONTHS_BETWEEN(SYSDATE,entertime));
A)select短语中不能出现组函数。
B)where短语中不能限制分组结果。
C)orderby子句中不能包含组函数。
D)组函数中不能包含单行函数。
2、有学员表Student,该表的结构如表-3所示:
表-3学员表Student信息
编写SQL语句,查询每班中每个科目的最高成绩。
selectclassid,subject,max(score)fromstudent
groupbyclassid,subject;
3、针对表-3所示的Student表,执行下述SQL语句:
1)SELECTa.name,a.score,a.classid,b.avgscore
2)FROMstudenta,
3)(SELECTclassid,avg(score)avgscore
4)FROMstudent
5)GROUPBYclassid)b
6)WHEREa.classid=b.classid
7)ANDa.score>
b.avgscore;
关于运行结果,下列描述正确的是(D)。
A)第一行出现错误
B)第三行出现错误
C)第六行出现错误
D)语句正常执行
4Oracle关联查询综合示例
1、有职员表emp,若需列出所有薪水高于平均薪水值的员工信息,则有SQL语句如下:
SELECTename,jobFROMempWHEREsal>
avg(sal);
上述语句是否正确?
如果有错,写出正确的SQL语句。
selecta.ename,a.jobfromempa,(selectavg(sal)salfromemp)b
wherea.sal>
b.sal;
2、有学员分数表,如图-5所示:
图-5
编写一条SQL语句,查询出每门课都大于80分的学生姓名。
selectnamecount(*)fromstudent
wherefenshu>
80
groupbyname
havingcount(*)=3
;
selectdistinctSnamefromSwhere
Snamenotin(selectdistinctSnamefromSwheregrade<
=80)
3、有USERLIST表如图-6所示:
图-6
有CHAEGE表如图-7所示:
图-7
请用最少的SQL语句,产生如表-4所示的查询结果:
表-4查询结果
其中,数据是经过USERLIST、CHAEGE表进行合适的连接,并以ACCOUNT字段为关键字分组求和得到。
特别注意:
电话号码421004在USERLIST表中有一条记录,在CHARGE表中并没有记录。
但是,在查询结果中,合同CCCC具有一条记录。
4、有两个表emp和taxgrade,其字段分别为:
emp(员工)表:
empname,empno,sal
taxgrade(税别)表:
taxmin,taxmax,grade
上述字段中,除字段empname外,其他字段均为数值类型。
emp表的数据如表-5所示:
表-5emp表示例数据
taxgrade表的数据如表-6所示:
表-6taxgrade表示例数据
编写SQL语句,查询编号为1的员工的税别。
selectgradefromtaxgrade
wheretaxmax<
(selectsalfromemp
whereempno=1;
)
andtaxmin>
);
5、有学员表student,用于记录:
学号,姓名,性别,年龄,组织部门;
有课程表course,用于记录:
课程编号,课程名称;
还有选课表sc,用于记录:
学号,课程编号,成绩。
三表的结构以及关联如图-8所示:
图-8
完成如下要求的SQL语句:
1)写一个SQL语句,查询选修了’计算机原理’的学生学号和姓名
selectSno,Snamefromstudent
whereSnoin(selectSnofromSC
wherecno=(selectcnofromCourse
wherecname='
计算机原理'
2)写一个SQL语句,查询’周星驰’同学选修了的课程名字
selectcnamefromCourse
wherecnoin(
selectcnofromSc
whereSno=(
selectSnofromStudent
whereSname='
周星驰'
6、有表test,表结构如表-7所示:
表-7test表
编写SQL语句,查询所有年龄比所属主管年龄大的人的ID和NAME。
selecta.ID,a.NAMEfromtestajointestb
ona.MANAGER=b.ID
wherea.AGE>
b.AGE;
7、有表city记载城市信息,如表-8所示:
表-8city表
有表state,记载省份信息,如表-9所示:
表-9state表
欲得到如表-10所示的查询结果:
表-10查询结果
请编写相应的SQL语句。
selectCityNo,CityName,StateNo,StateNamefrom
citycfulljoinstates
wherec.StateNo=s.StateNo;
5Oracle关联查询综合示例(提高题,选做)
有科目表,记载学员的学习科目数据,如表-11所示:
表-11t_subject表(科目表)
有学员表,记载学员的信息,如表-12所示:
表-12t_student表(学员表)
有考核规则表,记载考核规则,如表-13所示:
表-13t_assess_rule表(考核规则表)
有学员成绩表,如表-14所示(注,各科的成绩计算方法根据考核规则中占有的比率计算):
表-14t_performance表(成绩表)
1、如何算出一班(class_id=1)每个学生各科的成绩?
2、请对一班(class_id=1)每个学生各科成绩的总分进行排序。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 基础 查询 关联 练习题