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 ...
随机推荐
- .Net C# interface使用
using System; using System.ServiceModel; namespace com._80community.unittest.Demo { public delegate ...
- 01 Java 内存分配全面浅析
http://blog.csdn.net/shimiso/article/details/8595564 Java 内存分配全面浅析 本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的 ...
- javascript数字格式化通用类——accounting.js使用
简介 accounting.js 是一个非常小的JavaScript方法库用于对数字,金额和货币进行格式化.并提供可选的Excel风格列渲染.它没有依赖任何JS框架.货币符号等可以按需求进行定制. 代 ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(CMS)-第二章 入门篇-快速入门ASP.NET Core看这篇就够了
.NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了 原文链接:https://www.cnblogs.com/yilezhu/p/9985451.ht ...
- Java基础第一天--继承、修饰符
继承 继承的概述: 继承是面向对象三大特征之一.可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法. //创建父类 public class Fu{ public void sh ...
- jstl的forEach 循环
jstl的forEach循环一般有两种格式 1.当需要操作循环的下标时,或者需要固定循环的次数时: <c:forEach begin="0" end="5" ...
- echarts —— 重叠图
平时做堆叠图比较多,但是今天遇到一个要做重叠图的需求,记录一下~ 1.堆叠图,对应的 series: [] ,需要设置一个stack: "1",其中每个堆叠图的stack属性值都要 ...
- Qt 中配置 c99的问题
Qt 5.3 版本 报错原因是c99标准问题的话,可以尝试下面方法 打开项目中xxx.pro工程文件 加入如下语句: QMAKE_CFLAGS += -std=c99
- ASP.NET 静态化
以前也说过页面静态化 但是说的好像不清楚 这次我用一个插件 URLRewriter 重写URL 先引用dll 然后再web.config中三步走 <configSections> & ...
- MYSQL8.0+ 使用JDBC查询中文乱码的问题
在建表时,附加一句 DROP TABLE IF EXISTS `sys_table`;CREATE TABLE `sys_table` ( ... ) ENGINE=InnoDB DEFAULT CH ...