oracle面试题1
1、题目要求
已知关系模式:
S (SNO,SNAME)学生关系。SNO 为学号,SNAME 为姓名
C (CNO,CNAME,CTEACHER)课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师
SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩
- 1.找出没有选修过“刘备”老师讲授课程的所有学生姓名
- 2.列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩
- 3.列出既学过“c001”号课程,又学过“c002”号课程的所有学生姓名
- 4.列出“c001”号课成绩比“s002”号同学该门课成绩高的所有学生的学号
- 5.列出“c001”号课成绩比“c002”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩
2、建表语句
create table C ( cno ), cname ), cteacher ) ) ; comment on column C.cno is '课程号'; comment on column C.cname is '课程名'; comment on column C.cteacher is '任课教师'; create table S ( sno ), sname ) ) ; comment on column S.sno is '学号'; comment on column S.sname is '姓名'; create table SC ( sno ), cno ), scgrade ) ) ; comment on column SC.scgrade is '成绩'; insert into C (cno, cname, cteacher) values ('c001', '语文', '刘备'); insert into C (cno, cname, cteacher) values ('c002', '数学', '关于'); insert into C (cno, cname, cteacher) values ('c003', '英语', '张飞'); commit; insert into S (sno, sname) values ('s001', '小红'); insert into S (sno, sname) values ('s002', '小明'); insert into S (sno, sname) values ('s003', '小庄'); commit; insert into SC (sno, cno, scgrade) '); insert into SC (sno, cno, scgrade) '); insert into SC (sno, cno, scgrade) '); insert into SC (sno, cno, scgrade) '); insert into SC (sno, cno, scgrade) '); insert into SC (sno, cno, scgrade) '); insert into SC (sno, cno, scgrade) '); insert into SC (sno, cno, scgrade) '); commit;
3、参考答案
--1.找出没有选修过“刘备”老师讲授课程的所有学生姓名 select sname from s where not exists (select * from sc, c where sc.cno = c.cno and c.cteacher = '刘备' and sc.sno = s.sno) --2.列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩 select s.sno, s.sname, Avg(sc.scgrade) from sc, s, (select sc.sno from sc group by sno ) A where sc.sno = A.sno and s.sno = A.sno group by s.sno, s.sname --3.列出既学过“c001”号课程,又学过“c002”号课程的所有学生姓名 select * from s, (select sc.sno from sc, c where sc.cno = c.cno and c.cno in ('c001', 'c002') group by sc.sno ) A where s.sno = A.sno --4.列出“c001”号课成绩比“s002”号同学该门课成绩高的所有学生的学号 select s.sno from s, sc sc1, sc sc2 where sc1.cno = 'c001' and sc2.sno = 's002' and s.sno = sc1.sno and sc1.cno = sc2.cno and sc1.scgrade > sc2.scgrade --5.列出“c001”号课成绩比“c002”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩 select sc1.sno, sc1.scgrade, sc2.scgrade from sc sc1, sc sc2 where sc1.cno = 'c001' and sc2.cno = 'c002' and sc1.sno = sc2.sno and sc1.scgrade > sc2.scgrade
oracle面试题1的更多相关文章
- oracle 笔试题
ORACLE笔试题一.单选题1.在Oracle中,以下不属于集合操作符的是( ). A. UNION B. SUM C. MINUS D. INTERSECT2.在Oracle中,执行下面的语句:SE ...
- 部分常见ORACLE面试题以及SQL注意事项
部分常见ORACLE面试题以及SQL注意事项 一.表的创建: 一个通过单列外键联系起父表和子表的简单例子如下: CREATE TABLE parent(id INT NOT NULL, PRIMARY ...
- Oracle笔试题库 附参考答案
1. 下列不属于ORACLE的逻辑结构的是(C) 区 段 数据文件 表空间 2. 下面哪个用户不是ORACLE缺省安装后就存在的用户(A) A . SYSDBA B. SYSTEM C. SCOTT ...
- 转://云和恩墨的两道Oracle面试题
真题1. 对于一个NUMBER(1)的列,如果查询中的WHERE条件分别是大于3和大于等于4,那么这二者是否等价? 答案:首先对于查询结果而言,二者没有任何区别.从这一点上讲无论是指定大于3还是指定大 ...
- oracle sql试题
转载 数据准备 create table student( sno varchar2(10) primary key, sname varchar2(20), sage number(3), ...
- 【Java EE 学习 28 下】【Oracle面试题2道】【Oracle练习题3道】
一.已知程序和数据 create table test1 (id int primary key, name ), money int); ,); ,); ,); ,); 要求根据下图写出相应的sql ...
- oracle 面试题
1.对数据库SQL2005.ORACLE熟悉吗? SQL2005是微软公司的数据库产品.是一个RDBMS数据库,一般应用在一些中型数据库的应用,不能跨平台. ORACLE是ORACLE公司的数 ...
- Oracle笔试题库之问答题篇-总共60道
1.把表A从表空间TSP1更改成表空间TSP2的方法 解答:alter table A move tablespace TSP2 2.删除表的列: 解答:alert table 表名 drop 列名 ...
- Oracle面试题(基础篇)
1. Oracle跟SQL Server 2005的区别? 宏观上: 1). 最大的区别在于平台,oracle可以运行在不同的平台上,sql server只能运行在windows平台上,由于windo ...
- Oracle面试题及答案整理
一下题目根据此表变换 1.表:table1(FId,Fclass,Fscore),用最高效最简单的SQL列出各班成绩最高的列表,显示班级,成绩两个字段. select stu_class, max(s ...
随机推荐
- MyBatis 源码篇-DataSource
本章介绍 MyBatis 提供的数据源模块,为后面与 Spring 集成做铺垫,从以下三点出发: 描述 MyBatis 数据源模块的类图结构: MyBatis 是如何集成第三方数据源组件的: Pool ...
- Faster RCNN学习笔记
感谢知乎大神的分享 https://zhuanlan.zhihu.com/p/31426458 Ross B. Girshick在2016年提出了新的Faster RCNN,在结构上,Faster R ...
- Javascript的学习清单
Javascript的学习清单 Javascript学习资源 程序员必读书籍 深入理解JavaScript系列 es6教程 jQuery中文文档 vue官网 zeptojs中文版 常用的插件与UI组件 ...
- koa 实现session登陆
在我们访问一些网站内部内容的时候,通常都会先验证我们是否已经登陆,如果登陆了就跳转到内容页面否则就跳转或者弹出登陆页面. 但是HTTP协议是没有状态的协议,无法标识一个用户的登录状态. 于是Cooki ...
- 微信小程序登录获取手机号
一,发送请求携带 code 到后台换取 openid var that = this; wx.login({ success(res) { console.log(res); var code = r ...
- 升级openssh到高版本
linux升级openssh到高版本 可以解决OpenSSH 安全漏洞(CVE-2018-15919)和SSH服务器类型和版本 如果是新服务器,需要安装对应命令vim 上传下载等命令 安装上传或者下载 ...
- SpringBoot定时任务(schedule、quartz)
Scheduled 只适合处理简单的计划任务,不能处理分布式计划任务.优势:是spring框架提供的计划任务,开发简单,执行效率比较高.且在计划任务数量太多的时候,可能出现阻塞,崩溃,延迟启动等问题. ...
- TCP-HTTP ___UDP 应用场景
UDP 套接字应用之广播 import socket,threading #创建套接字 s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # 设置套接 ...
- java——Servlet
类要实现Servlet接口: 主要功能,生成动态网页内容: HttpServlet重写doGet和doPost方法或者重写Service方法,完成对请求的响应: 如:get.post等请求的响应. - ...
- CodeForces - 113B Petr# (后缀数组)
应该算是远古时期的一道题了吧,不过感觉挺经典的. 题意是给出三一个字符串s,a,b,求以a开头b结尾的本质不同的字符串数. 由于n不算大,用hash就可以搞,不过这道题是存在复杂度$O(nlogn)$ ...