还剩18页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
1Oracle基础查询综合示例有职工表表结构如表一所示:表一职工表信息emp,11emp字段名类型描述empno NUMBER4,0SI IDenameVARCHAR210更二;三名职位job VARCHAR29mgr NUMBER4,0员工言理者的IDhiredate DATE入职日期sal NUMBER7,2薪资comm NUMBER7,2deptno NUMBER2,0员工所在的部门ID表中的示例数据如图一所示:emp1MGR_|」EMPNO1J JOBJ JSAL COMMDEPTNOENAMEHIREDATE7369SMITH CLERK1980/12/17―800007902207499ALLEN SALESMAN76981981/2/20▼16000030000307521WARD SALESMAN「1250001500003076981981/2/227566JONES MANAGER78391981/4/2,
2975.00207654MARTIN SALESMAN76981981/9/28▼125000140000307698BLAKE MANAGER78391981/5/1▼285000307782一78391981/6/9▼24500010|MANAGERCLARK7788SCOTT ANALYST75661987/4/19・300000_20_7839KING PRESIDENT1981/11/17▼500000107844TURNER SALESMAN76981981/9/8▼150000「一300007876ADAMS CLERK-77881987/5/23▼110000,201981/12/3▼|307900JAMES CLERK7698950007902FORD ANALYST75661981/12/3▼300000207934MILLER CLERK77821982/1/23▼130000一10有部门表叩表结构如表一所示:d32㊀select namecount*from studntwhere fenshu80group bynamehaving count*=3select distinct Sname from S where Sname not in select distinctSnamefromSwheregrade=
80、有表如图一所示:3USERLIST6ACCOUNT RENTnumeric
10.TELEPHONEV arcluu-
10.1进vaiachar1024210001AAAA19,501210002AAAA
20.504210003BBBB
100.004210001CCCC
250.00图—6有表如图一所示:CHAEGE7TELEPHONE FEE01FEE02FEE03FEE04,二二;
4210001110013.
00140042100022100220023.
0024.
004210003310032.
0033.
0034.00图一7请用最少的语句,产生如表一所示的查询成果:SQL4表一查询成果4ACCOUNT USERSRENT FEE01FEE02FEE03FEE04AAAA
240.
0032.
0034.
0036.
0038.00BBBB
1100.
0031.
0032.
0033.
0034.00CCCC
1250.
000.
000.
000.
000.00其中,数据是通过、表进行适宜的连接,并以字段为USERLIST CHAEGEACCOUNT核心字分组求和得到尤其注意电话号码在表中有一条统计,在表中并没421004USERLIST CHARGE有统计不过,在查询成果中,协议具备一条统计CCCC、有两个表和其字段分别为(员工)表4emp taxgrade,emp empname,empno,sal(税另)表taxgrade lltaxmin,taxmax,grade上述字段中,除字段外,其他字段均为数值类型empname表的数据如表一所示emp5表一表示例数据5empempname empnosalmary1450john2800jerry31250kate4200neo55750表的数据如表一所示:taxgrade6表一表示例数据6taxgradetaxmin taxmaxgrade05001500100021000200032000500045000100005编写语句,查询编号为的员工的税别SQL1㊀㊀select gradfrom taxgradwheretaxmaxselect sal from empwhere empno=1;㊀and taxminselectsal frommpwhereempno=1;、有学员表用于统计学号,姓名,性别,年龄,组织部门;有课程表5student,course,用于统计课程编号,课程名称;尚有选课表用于统计学号,课程编号,成绩sc,三表的结构以及关联如图一所示8studentSno charSnamechar20|⑵Ssex charSageIntSdept char20Course Snochar20eno char20eno char20Grade intcnamcchar20图一8完成如下要求的语句:SQL)写一个语句,查询选修了,计算机原理,的学生学号和姓名1SQL㊀select Sno,Snam fromstudentwhere Snoin select Sno fromSCwhere eno=select enofrom Course=,计算机原理where cname;写一个语句,查询,周星驰,同学选修了的课程名字2SQL㊀select cnam from Coursewhereeno inselect enofrom ScwhereSno=selectSnofrom Student=周星驰㊀whereSnam;、有表,表结构如表一所示6test7表-表7testID NAMEAGE MANAGER(所属主管人ID)106A30104109B19104104C20111107D35109112E25120119F45NULL编写语句,查询所有年龄比所属主管年龄大的人的和SQL IDNAMEo㊀select a.ID,a.NAME fromtest ajoin tst bona.MANAGER=b.IDwhere a.AGEb.AGE;、有表记载城市信息,如表一所示:7city8表一表8cityCityNo CityName StateNo权BJ NullSH上海NullGZ广州GDDL LN有表记载省份信息,如表一所示:state,9表一表9stateStateNo StateNameGDFLN江于SD山东NMG内蒙己欲得到如表一所示的查询成果:10表一查询成果10City NoCityNameStateNoStateNameBJ Null Null DL771=LN江于GZ广州GD FSH上海NullNull请编写对应的语句SQL,㊀select CityNo,CityNam StateNo,StateName from㊀city cfull joinstat s㊀where c.StateNo=s.Stat No;5Oracle关联查询综合示例(提升题,选做)有科目表,记载学员的学习科目数据,如表一所示:11表一表(科目表)11t_subjectsubject,id subject.name1语文2数学有学员表,记载学员的信息,如表一所示:12表一表(学员表)12t_studentstudentjd dassjdstudent_name刻一1121疔二31李四41三52625有考核规则表,记载考核规则,如表一所示:13表一表(考核规则表)13t_assess_rulerule.id class,id assess.type scale%esc11test_score70成绩(固定)21checl^in10考童31tasl^scale1041taskscore1052test-score70成旗(固定)62checl^in15考至72task^scale15作业完成率有学员成绩表,如表一所示注,各科的成绩计算措施依照考核规则中占有的比14率计算表一表成绩表14t_performanceperformancejd student,id subject,id test_score check_in task,sea Ietask_score
111901001009021267100100783217110010080422100100100955318510010090632881001009074181100100908427810010088951639510066105287951009011618491100821262729110070、怎样算出一班每个学生各科的成绩1class_id=l、请对一班每个学生各科成绩的总分进行排序2classJd=l表一部门表信息2dept字段名类型描述deptno NUMBER2,0部门IDdname VARCHAR214部门名称loc VARCHAR213部门所在地表中的不例数据如图一所不:dept2DEPTNO_DNAME_|LOC_10ACCOUNTING NEWYORK20RESEARCH DALLASI30SALES CHICAGO40OPERATIONS BOSTON图一2需要完成如下查询、查询职工表中,在和号部门工作的员工姓名和部门号12030select ename,deptno from empwhere deptnoin20,30;、查询职工表中,没有管理者的员工姓名及职位,并按职位排序2,㊀㊀select namjob from ampwhere mgris nullorder by j ob;,㊀㊀select nam sal,comm from emporder bysal desc;、查询职工表中,员工姓名的第三个字母是的员工姓名4Aselect enamefrom emp㊀㊀I IIwherenam likea%;、查询职工表中的职工名字、职位、薪资,并显示为如图一所示效果53I SMITH,CLERK,8002ALLEN SALESMAN,1600r3WARD,SALESMAN,12504JONES,MANAGER,29755MARTIN,SALESMAN,12506BLAKE.MANAGER,28507CLARK,MANAGER2450r8SCOTT ANALYST,3000r9KING,PRESIDENT5000r10TURNER,SALESMAN,1500II ADAMS,CLERK,110012JAMES,CLERK,95013FORD,ANALYST,300014MILLER,CLERK,1300图一3提示列之间用逗号连接,列头显示成OUT—PUT||!T|㊀㊀11select namA Ijob|||I salout_put fromzamp;,㊀㊀㊀select mpno,namsal,.2fromamp;、查询员工的姓名和工资,条件限定为工资必须不小于并对查询成果71200,按入职时间进行排列,早入职排在前面,晚入职排在背面select ename,salfromempwhere sal1200orderbyhiredate asc;、查询部门以外的其他部门的编号、名称以及所在地8ACCOUNT,㊀㊀㊀select d ptno,dnam locfrom dpt11where dnamenotinaccounting;2Oracle分组查询综合示例对于如前所示的职工表需要完成如下查询:emp,、查询每个部门中每个职位的最高薪水1㊀select ma*sal,dptno,job fromamp groupbydeptno,job;、有语句如下所示2SQLSELECT a.ename,a.sal,a.deptno,b.maxsalFROM empa,SELECT deptno,max salmaxsalFROM empGROUP BY deptnobWHERE a.deptno=b.deptnoAND a.salb.maxsal;此语句的功效是什么?写出其查询成果SQL查询小于每个部门工资最高的员工的姓名,工资、假设员工表中,员工和管理者中间只有一个层级,也就是说,每个员工最多只3有一个上级,作为管理者的员工不再有上级管理者,并且,上级管理者相同的员工,他们属于同一个部门找出中那些工资高于他们所在部门的管理者工资的员EMP工.㊀㊀㊀㊀㊀㊀㊀select1namfrommp1join mp2on el.mgr=e
2.empno㊀where el.salany2•saland el.mgr=e
2.empno;、找出中那些工资高于他们所在部门一般员工平均工资的员工4EMP㊀,㊀・㊀・select e.enam saldeptno,d.avgsalf,㊀fromemp㊀selectdptno,avgsal avgsalfromampgroup bydeptnodwhere e.sald.avgsal㊀・㊀and dptno=d.deptno;3Oracle分组查询综合示例提升题,选做、下列语句犯错的原因是1SQL BSELECT classid,AVGMONTHS_BETWEENSYSDATE,entertimeFROM studentWHEREAVG MONTHS_BETWEEN SYSDATE,entertime12GROUP BYclassic1ORDER BYAVGMONTHS_BETWEEN SYSDATE,entertime;短语中不能出现组函数A select短语中不能限制分组成果B where子句中不能包括组函数C orderby组函数中不能包括单行函数D、有学员表该表的结构如表一所示2Student,3表-学员表信息3Student字段名类型描述id NUMBER4学员ID Not Nullrname VARCHAR230学员姓名,NotNull科目subject VARCHAR230翊score NUMBER8,2classic!NUMBER2班级编语编写语句,查询每班中每个科目标最高成绩SQL㊀select classid,subjact,maxscora fromstud ntgroupby classid,subject;、针对表一所示的表,执行下述语句:33Student SQL1SELECT a.name,a.score,a.classic!,b.avgscore2FROM studenta,3SELECTclassid,avgscore avgscore4FROM student5GROUPBYclassic!b6WHERE a.classid=b.classid7AND a.scoreb.avgscore;有关运行成果,下列描述正确的是D第一行出现错误A第三行出现错误B第六行出现错误C语句正常执行D4Oracle关联查询综合示例、有职工表若需列出所有薪水高于平均薪水值的员工信息,则有1emp,SQL语句如下SELECT ename,job FROMemp WHEREsalavgsal;上述语句是否正确?假如有错,写出正确的语句SQL,㊀select a.enam a.jobfromempa,select avgsalsalfrom empbwhere a.salb.sal;、有学员分数表,如图一所示25nanie kechengfenshu81张三语文75张三数学76李四语文90李四数学81王五语文100数学90干石英谓图一5编写一条语句,查询出每门课都不小于分的学生姓名SQL80。
个人认证
优秀文档
获得点赞 0