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. MySQL - 性能优化 & MySQL常见SQL错误用法(转载)

    1. LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方.比如: , ; 一般DBA想到的办法是在type, name, create_time字段上加组合索引.这样条件排序 ...

  2. Nodejs:单线程为什么能支持高并发?

      1.Nodejs是一个平台,构建在chrome的V8上(js语言解释器),采用事件驱动.非阻塞模型( c++库:libuv). 参考官方: Node.js is a platform built ...

  3. 完全卸载RabbitMQ和Erlang

    要从计算机中完全卸载RabbitMQ和Erlang,请执行以下操作:(1)打开Windows控制面板,双击“程序和功能”. (2)在当前安装的程序列表中,右键单击RabbitMQ Server,然后单 ...

  4. 记录一次SourceTree无法push问题排查及解决

    1.push代码卡住,一直转圈2.试了下拉取代码也拉不到3.试了使用git命令行push可以4.使用Sourcetree新建项目,一直在检查url.5.初步判断原因,SourceTree无法联网.6. ...

  5. 每日一句 Linux, 持续精进

    每日一句 Linux, 持续更新 2019.12.10 1.远程登录 linux 服务器.首先要按照ssh(win10默认是安装了的).命令行窗口,使用 ssh 登录名@serverIp,之后输入密码 ...

  6. 【异常】 Could not find Linker 'g++' in system path.

    1 详细异常 FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':az-ex ...

  7. Mysql(九):Python连接MySQL数据库之pymysql模块使用

    Python3连接MySQL 本文介绍Python3连接MySQL的第三方库--PyMySQL的基本使用. PyMySQL介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服 ...

  8. Java通过JDBC连接SQL Server2017数据库

    一.需要明白的基础知识 数据库名 驱动jar(x表示版本号) 具体驱动类 连接字符串(ip地址,端口号,名字) Oracle ojdbc-x.jar oracle.jdbc.oracleDriver ...

  9. 蓝牙RSSI转距离计算工具

    RSSI是无线接收的信号强度指示,如WIFI.BLE.ZigBee.接收到的RSSI的强弱与发射点与接收点的距离有一定的关系,故可以依据RSSI进行粗略的定位计算,如苹果的iBeacon. 其中用到最 ...

  10. PAT Basic 1087 有多少不同的值 (20 分)

    当自然数 n 依次取 1.2.3.…….N 时,算式 ⌊ 有多少个不同的值?(注:⌊ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分.) 输入格式: 输入给出一个正整数 N(2). 输出 ...