oracle面试题2
1、题目要求
为管理岗位业务培训信息,建立3个表:
S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄
C (C#,CN ) C#,CN 分别代表课程编号、课程名称
SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩
- 1.查询选修课程名称为’数学’的学员学号和姓名
- 2.查询选修课程编号为’c002’的学员姓名和所属单位
- 3.查询不选修课程编号为’c001’的学员姓名和所属单位
- 4.查询选修全部课程的学员姓名和所属单位
2、建表语句
create table C
(
c# ),
cn )
)
;
comment on column C.c#
is '课程编号';
comment on column C.cn
is '课程名称';
create table S
(
s# ),
sd ),
sn ),
sa )
)
;
comment on column S.s#
is '学号';
comment on column S.sd
is '学员姓名';
comment on column S.sn
is '所属单位';
comment on column S.sa
is '学员年龄';
create table SC
(
s# ),
c# ),
g )
)
;
comment on column SC.s#
is '学号';
comment on column SC.c#
is '课程编号';
comment on column SC.g
is '学习成绩';
insert into C (c#, cn)
values ('c001', '语文');
insert into C (c#, cn)
values ('c002', '数学');
insert into C (c#, cn)
values ('c003', '英语');
commit;
insert into S (s#, sd, sn, sa)
');
insert into S (s#, sd, sn, sa)
');
insert into S (s#, sd, sn, sa)
');
commit;
insert into SC (s#, c#, g)
');
insert into SC (s#, c#, g)
');
insert into SC (s#, c#, g)
');
insert into SC (s#, c#, g)
');
insert into SC (s#, c#, g)
');
insert into SC (s#, c#, g)
');
insert into SC (s#, c#, g)
');
insert into SC (s#, c#, g)
');
commit;
3、参考答案
--1.查询选修课程名称为’数学’的学员学号和姓名
select s.s#, s.sn
from s, c, sc
where s.s# = sc.s#
and c.c# = sc.c#
and c.cn = '数学'
--2.查询选修课程编号为’c002’的学员姓名和所属单位
select s.sn, s.sd
from s, c, sc
where s.s# = sc.s#
and c.c# = sc.c#
and c.c# = 'c002'
--3.查询不选修课程编号为’c001’的学员姓名和所属单位
select s.sn, s.sd
from s
where s.s# not in (select sc.s#
from sc, c
where sc.c# = c.c#
and c.c# = 'c001'
and s.s# = sc.s#)
--4.查询选修全部课程的学员姓名和所属单位
select s.sn, s.sd
from s,
(select sc.s#
from sc
group by sc.s#
) from C)) A
where s.s# = A.s#
oracle面试题2的更多相关文章
- 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 ...
随机推荐
- 怎样解决忘加new关键字所造成的问题
通过构造函数 "new" 一个对象出来时, 如果忘记写这个 new, 那这个构造函数就不会返回一个实例对象, 而是会像普通函数一样执行. 下面是两种规避忘记写new时所引发的问题的 ...
- kubernetes 实现redis-statefulset集群
Kubernetes 通过statefulset部署redis cluster集群 部署redis集群方式的选择 Statefulset Service&depolyment 对于redis, ...
- JS闭包的简单理解。优缺点以及垃圾回收机制
闭包是什么? ·了解闭包首先了解js的‘链式作用域’结构,对象可以一级一级的向上查找父对象的变量,所以父对象的变量对子对象可见,反之不成立:所以都可以访问全局变量 ·为了解决函数外部无法访问函数内局部 ...
- golang在linux后台执行的方法
go build ./index.go 会生成一个index的运行文件 nohup index & 后台运行index文件 killall index 你可能还要关闭index set GOA ...
- boost交叉编译
运行bootstrap.sh # ./bootstrap.sh 生成b2.bjam和project-config.jam文件 修改project-config.jam using gcc : arm ...
- ORACLE_笔记_练习题目
一.plsql用法网址及时复习 extract()函数----用于截取年.月.日.时.分.秒 https://www.cnblogs.com/xqzt/p/4477239.html case when ...
- MySQL时间类型及获取、展示处理
MySQL时间格式 mysql所支持的日期时间类型有:DATETIME. TIMESTAMP.DATE.TIME.YEAR. 几种类型比较如下: 日期时间类型 占用空间 日期格式 最小值 最大值 零值 ...
- 微信小程序开发(四)页面跳转
承接上篇博客. 通过点击按钮跳转到新的页面. 先创建新页面home: 代码如下: // home.js Page({}) // 注册页面 // home.json {} // home.wxml &l ...
- 嵌入式Linux应用开发完全手册读书笔记——交叉编译工具选项说明
交叉编译工具选项说明 arm-linux-gcc 一个c/c++文件要变成可执行文件需要4步:预处理 -> 编译 -> 汇编 -> 链接: 在使用arm-linux-gcc时的常用选 ...
- 如何给mysql数据库添加一个用户
首先以root身份登录到MySQL服务器中. $ mysql -u root -p 当验证提示出现的时候,输入MySQL的root帐号的密码. 创建一个MySQL用户 使用如下命令创建一个用户名和密码 ...