• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

查询选修‘C语言’课程的学生MSSQL

武飞扬头像
qq_58616343
帮助1

作者 张庆 单位 集美大学

本题目要求编写SQL语句,

检索出所有选修'C语言'课程的学生成绩记录,输出结果集按照成绩降序排序。

提示:MSSQLServer 评测SQL语句。

分别尝试用以下几种方式实现。

1)采用连接查询

2)采用嵌套查询

3)采用EXIST查询

表结构:

请在这里写定义表结构的SQL语句。例如:

  1.  
    -- 专业表
  2.  
    CREATE TABLE major (
  3.  
    mno char(2) NOT NULL,
  4.  
    mname nvarchar(20) NOT NULL,
  5.  
    PRIMARY KEY (mno)
  6.  
    );
  7.  
    -- 学生表
  8.  
    CREATE TABLE stu (
  9.  
    sno char(4) NOT NULL,
  10.  
    sname nvarchar(8) NOT NULL,
  11.  
    sex smallint DEFAULT NULL,
  12.  
    mno char(2) DEFAULT NULL,
  13.  
    birdate datetime DEFAULT NULL,
  14.  
    memo ntext,
  15.  
    PRIMARY KEY (sno),
  16.  
    CONSTRAINT fk_stu_mno FOREIGN KEY (mno) REFERENCES major (mno)
  17.  
    );
  18.  
    -- 课程表
  19.  
    CREATE TABLE cou (
  20.  
    cno char(4) NOT NULL,
  21.  
    cname nvarchar(30) NOT NULL,
  22.  
    credit smallint DEFAULT NULL,
  23.  
    ptime char(5) DEFAULT NULL,
  24.  
    teacher nvarchar(10) DEFAULT NULL,
  25.  
    PRIMARY KEY ( cno )
  26.  
    );
  27.  
    -- 学生选课成绩表
  28.  
    CREATE TABLE sc (
  29.  
    sno char(4) NOT NULL,
  30.  
    cno char(4) NOT NULL,
  31.  
    grade decimal(4,1) DEFAULT NULL,
  32.  
    PRIMARY KEY ( sno , cno ),
  33.  
    CONSTRAINT fk_sc_cno FOREIGN KEY ( cno ) REFERENCES cou ( cno ),
  34.  
    CONSTRAINT fk_sc_sno FOREIGN KEY ( sno ) REFERENCES stu ( sno )
  35.  
    )
学新通

表样例

请在这里给出上述表结构对应的表样例。例如

stu表:

学新通

cou表:

学新通

sc表:

学新通

输出样例:

请在这里给出输出样例。例如:

学新通

答案:

  1.  
    --连接查询
  2.  
    SELECT
  3.  
    stu.sname 姓名,
  4.  
    sc.grade 成绩
  5.  
    FROM
  6.  
    stu,
  7.  
    sc
  8.  
    WHERE
  9.  
    stu.sno = sc.sno
  10.  
    AND cno = ( SELECT cno FROM cou WHERE cname = N'C语言' )
  11.  
    ORDER BY
  12.  
    grade DESC;
  13.  
    --EXIST查询
  14.  
    SELECT
  15.  
    stu.sname 姓名,
  16.  
    sc.grade 成绩
  17.  
    FROM
  18.  
    stu,
  19.  
    sc
  20.  
    WHERE
  21.  
    stu.sno = sc.sno
  22.  
    AND EXISTS ( SELECT *
  23.  
    FROM cou
  24.  
    WHERE sc.cno = cno AND cname = N'C语言' )
  25.  
    ORDER BY
  26.  
    grade DESC;
学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggcecg
系列文章
更多 icon
同类精品
更多 icon
继续加载