⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sql.txt

📁 sql 语句相关的资料,一些文档 和 ppt
💻 TXT
字号:
看清楚下面的要求。理解好题目, 做下面的题目:

为管理岗位业务培训信息,建立3个表:   
  S   (S#,SN,SD,SA)       S#,SN,SD,SA分别代表学号、学员姓名、所属单位、学员年龄;   
  C   (C#,CN   )     C#,CN分别代表课程编号、课程名称;   
  SC   (   S#,C#,G   )     S#,C#,G分别代表学号、所选修的课程编号、学习成绩。   
  1.使用标准SQL嵌套语句查询选修课程名称为’JAVA基础教程’的学员学号和姓名   
  2.使用标准SQL嵌套语句查询选修课程编号为'c2’的学员姓名和所属单位   

  3.使用标准SQL嵌套语句查询不选修课程编号为’c5’的学员姓名和所属单位  
 
  4.使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位   
  5.查询选修了课程的学员人数   
  6.查询选修课程超过5门的学员学号和所属单位   
  
 自己添加数据,自己建立表,全部自己写SQL 完成。不要用工具生成,自己写SQL建立表。
S 表的  SN 字段不能为空,为varchar2型,S# 为主键。


创建表S:
      create table S
(
  S# NUMBER not null,
  SN VARCHAR2(30),
  SD VARCHAR2(30) default '没有添写',
  SA NUMBER
)


-- Add comments to the columns 
comment on column S.S#
  is '学生学号';
comment on column S.SN
  is '学员姓名';
comment on column S.SD
  is '所属单位';
comment on column S.SA
  is '学员年龄';

创建主键:
alter table S
  add constraint S_ID primary key (S#)

创建表 C:

  create table C
(
  C#       VARCHAR2(30) not null,
  CN       VARCHAR2(50),
  CTEACHER VARCHAR2(20)
)

-- Add comments to the columns 
comment on column C.C#
  is '课程编号';
comment on column C.CN
  is '课程名称';
comment on column C.CTEACHER
  is '老师';

创建表 C:
create table SC
(
  S# VARCHAR2(20),
  C# VARCHAR2(30),
  G  NUMBER
)


-- Add comments to the columns 
comment on column SC.S#
  is '学号';
comment on column SC.C#
  is '课程编号';
comment on column SC.G
  is '学习成绩';


第一个问题的答案:

   SELECT S.S#,S.SN FROM  S,SC,C WHERE S.S#=SC.S# AND SC.C#=C.C# AND C.CN='JAVA基础教程'

第二个问题的答案:

  Select S.SN,S.SD FROM S,SC

  Where S.S#=SC.S#

  AND SC.C#='002'

 

第三个问题的答案:
      SELECT S.SD, S.SN
  FROM S
 WHERE S.S# NOT IN (SELECT S#
                       FROM SC, C
                      WHERE SC.C# = C.C#
                        AND SC.C# = 'C2')


 第四个问题的答案:

第一种写法:
   select   distinct   S.SN,   S.SD
  from   S,C,SC,(select   count(*)   num   from   C)   t   
  where   SC.S#=S.S#   and   
              SC.C#=C.C#   
  having   count(SC.C#)=t.num   
  group   by   S.SN,   S.SD,t.num

第二种写法:
   
SELECT S.S#,S.SN,S.SD
  FROM S
 WHERE (SELECT COUNT(*) FROM SC WHERE S.S# = SC.S#) =
       (SELECT COUNT(*) FROM C)


第五个问题的答案:

    SELECT COUNT(DISTINCT SC.S#) FROM SC

第六个问题的答案:
   
  select s.s#, s.sn, s.sd
  from s
 where s.s# in (select s# from sc group by s# having count(distinct sc.c#)>1)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -