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. Sql语句知识大全

    1.经典SQL语句大全(绝对的经典) 2. 3. 4.一.基础 1.1.说明:创建数据库 2.CREATE DATABASE database-name 3.2.说明:删除数据库 4.drop dat ...

  2. 关键字:for_each

    std::for_each 先贴cppreference中对for_each的概述: template< class InputIt, class UnaryFunction > //此处 ...

  3. js之数据类型(对象类型——单体内置对象——JSON)

    JSON(Java Script Object Notation)使用JavaScript语法,是用于存储和传输数据的格式,通常用于服务端向网页传递数据.JSON格式仅仅是一个文本,文本可以被任何编程 ...

  4. Linux学习(五)-Linux组管理和权限管理

    Linux组基本介绍 在Linux中的每一个用户必须属于一个组,不能独立与组外.在Linux中每个文件有所有者,所在组,其他组的概念 所有者 所在组 其它组 改变用户所在组 1.文件/目录 所有者 文 ...

  5. element之table自定义表头

    1.实现效果 2.使用render-header可以自定义表头 <el-table-column prop="date" label="日期" sorta ...

  6. 这些JVM命令配置参数你知道吗?

    JVM是多数开发人员视为理所当然的Java功能和性能背后的重负荷机器.然而,我们很少有人能理解JVM是如何进行工作的—像任务分配和垃圾收集.转动线程.打开和关闭文件.中断和/或JIT编译Java字节码 ...

  7. select * 和 select 字段的速度对比

    拿WordPress的数据库做一个对比 SELECT ID,post_title, post_author FROM wp_posts ORDER BY ID LIMIT 100; OK, Time: ...

  8. Dart运算符与语句格式

    算术运算符 + 加 - 减 * 乘 / 除 ~/ 取整 % 取余 关系运算符 == 是否等于 != 是否不等于 > 是否大于 < 是否小于 >= 是否大于等于 <= 是否小于等 ...

  9. Djnago模板与标签

    1.模版系统 基本语法 {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 在Django的模板语言中按此语法使用:{{ 变量名 }}. python基础的基本数据类型可以通 ...

  10. CHANGELOG 的实现

    项目需要写版本信息时有对除了版本号之外更详细的 changelog 的展示, 于是就需要在平时的 git commit 中进行规范, 才能自动生成CHANGELOG.md. Husky 首先本地安装 ...