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 ...
随机推荐
- 图数据库-Neo4j-常用算法
本次主要学习图数据库中常用到的一些算法,以及如何在Neo4j中调用,所以这一篇偏实战,每个算法的原理就简单的提一下. 1. 图数据库中常用的算法 PathFinding & Search 一般 ...
- WEB监控系列第三篇:graphite指南
一 使用说明 以下是喂数据的方式,但是在实际使用中我们使用statsd来喂数据,请参考我的第四篇文章:statsd指南 喂数据有三种方式: There are three main methods ...
- .Net C# EF database first connectionstring
<connectionStrings> <add name="CupCreditCheckDB" connectionString="metadata= ...
- Jmeter4.0---- jmeter逻辑控制器(16)
1.说明 逻辑控制器可以帮助用户控制Jmeter的测试逻辑,特别是何时发送请求.逻辑控制器可以改变其子测试元件的请求执行顺序. 2.逻辑控制器 (1)如果(if)控制器 用法一: 审核人员,数据分为 ...
- BASE64 Encode Decode
package com.humi.encryption; import java.io.IOException; import java.io.UnsupportedEncodingException ...
- vue路径中的#号
最近学习vue过程中,发现路径当中总是存在一个#号,比如这个: 这种情况是因为在入口js文件中,如果你不更改设置的话,vue会默认使用hash模式,该模式下回将路径格式化为 # 开头. 如果需要美化路 ...
- Webstorm2017.3.3软件的安装使用
下载 ▶进入jetbrains的官方网站点击download,即下载开始.官方网站链接:http://www.jetbrains.com/webstorm/ 安装 ▶双击刚下载完成的.exe文件开始进 ...
- BBPlus团队ALPHA冲刺博客(肖文恒)
ALPHA冲刺博客 第一天:https://www.cnblogs.com/bbplus/p/11931039.html 第二天:https://www.cnblogs.com/bbplus/p/11 ...
- MySQL间隙锁问题
间隙锁(Gap Lock):锁加在不存在的空闲空间,可以是两个索引记录之间,也可能是第一个索引记录之前或最后一个索引之后的空间. 最近用户反馈说系统老是出现insert时,等待超时了,最后发现是ins ...
- 第三章、Django之路由层
目录 第三章.Django之路由层 一 路由的作用 二 简单的路由配置 三 分组 四 路由分发 五 反向解析 六 名称空间 七 django2.0版的re_path与path 第三章.Django之路 ...