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的更多相关文章

  1. oracle 笔试题

    ORACLE笔试题一.单选题1.在Oracle中,以下不属于集合操作符的是( ). A. UNION B. SUM C. MINUS D. INTERSECT2.在Oracle中,执行下面的语句:SE ...

  2. 部分常见ORACLE面试题以及SQL注意事项

    部分常见ORACLE面试题以及SQL注意事项 一.表的创建: 一个通过单列外键联系起父表和子表的简单例子如下: CREATE TABLE parent(id INT NOT NULL, PRIMARY ...

  3. Oracle笔试题库 附参考答案

    1.  下列不属于ORACLE的逻辑结构的是(C) 区 段 数据文件 表空间 2. 下面哪个用户不是ORACLE缺省安装后就存在的用户(A) A . SYSDBA B. SYSTEM C. SCOTT ...

  4. 转://云和恩墨的两道Oracle面试题

    真题1. 对于一个NUMBER(1)的列,如果查询中的WHERE条件分别是大于3和大于等于4,那么这二者是否等价? 答案:首先对于查询结果而言,二者没有任何区别.从这一点上讲无论是指定大于3还是指定大 ...

  5. oracle sql试题

    转载 数据准备 create table student(  sno varchar2(10) primary key,  sname varchar2(20),  sage number(3),  ...

  6. 【Java EE 学习 28 下】【Oracle面试题2道】【Oracle练习题3道】

    一.已知程序和数据 create table test1 (id int primary key, name ), money int); ,); ,); ,); ,); 要求根据下图写出相应的sql ...

  7. oracle 面试题

    1.对数据库SQL2005.ORACLE熟悉吗?   SQL2005是微软公司的数据库产品.是一个RDBMS数据库,一般应用在一些中型数据库的应用,不能跨平台.   ORACLE是ORACLE公司的数 ...

  8. Oracle笔试题库之问答题篇-总共60道

    1.把表A从表空间TSP1更改成表空间TSP2的方法 解答:alter table A move tablespace TSP2 2.删除表的列: 解答:alert table 表名 drop 列名 ...

  9. Oracle面试题(基础篇)

    1. Oracle跟SQL Server 2005的区别? 宏观上: 1). 最大的区别在于平台,oracle可以运行在不同的平台上,sql server只能运行在windows平台上,由于windo ...

  10. Oracle面试题及答案整理

    一下题目根据此表变换 1.表:table1(FId,Fclass,Fscore),用最高效最简单的SQL列出各班成绩最高的列表,显示班级,成绩两个字段. select stu_class, max(s ...

随机推荐

  1. MyEclipse10.0 采用插件方式安装 SVN

    一.到官方上下载svn1.8.3,下载后的文件名叫site-1.8.3.zip 地址:http://subclipse.tigris.org/servlets/ProjectDocumentList? ...

  2. Pattern Recognition and Machine Learning-01-Preface

    Preface Pattern recognition has its origins in engineering, whereas machine learning grew out of com ...

  3. CNN 笔记

    1. 卷积后的图像的大小为    (w+2p-f)*3 / s    W为图像的宽,p为padding的大小, f为卷积核大小, 3 为图像的通道数, s为步长 2. 卷积层和池化层的区别? 卷积层是 ...

  4. Web框架概述——React.js

    目前,在前端Web开发中,三大热门框架为React.js,Vue.js,Angular.js .当然,三大框架各有各的优缺点,这里就不多说了,下面我就针对前段时间所学的React框架做一下整体知识点的 ...

  5. 【坑】maven编码配置

    错误环境: maven 3.5.0 idea 2017.1.1 错误原因: 由于没有设置统一编码,导致与其他同事开发过程中出现乱码问题 解决方案: 在maven的 pom配置中properties节点 ...

  6. TCP的keepalive和应用层的heart

    从长链接说起 TCP是长链接的,也就是说连接建立后,及时数年没有通信连接仍然存在.这样做的好处是:免去了DNS解析的时间,连接建立等时间,大大加快了请求的速度,同时也有利于接受服务器的实时消息.但前提 ...

  7. appium-清空输入框的内容后,再次输入内容会回退最后两个字符串

    问题描述 有两个输入框,用户名和密码输入框 调用set_text方法,输入用户名 再次调用set_text方法,输入密码 清空用户名输入框的内容后,再次输入内容会回退最后两个字符串 出问题的代码 de ...

  8. 原生js为页面添加爱心特效和判断手机端还是电脑端登录

    <!-- 为页面添加爱心特效 --> <script type="text/javascript"> (function (window, document ...

  9. Django框架orm

    一.django目录 二.登录注册 三.三件套 四.orm简介 五.基于orm的用户登录 一.django目录 -settings -urls -views -强调:setting中的'django. ...

  10. 05_Redis_List命令

    一:Redis 列表(List) -- LinkedList Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素到列表的头部(左边)或者尾部(右边):一个列表最多可以包含 232 ...