• 2021-04-14
    Xscj数据库中数据库表的数据如下。
    1. Xs:学生基本情况表
    学号
    姓名
    专业名
    性别
    出生时间
    总学分
    照片
    备注
    081101
    王林
    计算机
    1
    1990-02-10
    50
    NULL
    NULL
    081102
    程明
    计算机
    1
    1991-02-01
    50
    NULL
    NULL
    081103
    王燕
    计算机
    0
    1989-10-06
    50
    NULL
    NULL
    081104
    韦严平
    计算机
    1
    1990-08-26
    50
    NULL
    NULL
    081106
    李方方
    计算机
    1
    1990-11-20
    50
    NULL
    NULL
    081107
    李明
    计算机
    1
    1990-05-01
    54
    NULL
    提前修完《数据结构》,并获学分
    081108
    林一帆
    计算机
    1
    1989-08-05
    52
    NULL
    已提前修完一门课
    081109
    张强民
    计算机
    1
    1989-08-11
    50
    NULL
    NULL
    081110
    张蔚
    计算机
    0
    1991-07-22
    50
    NULL
    三好生
    081111
    赵琳
    计算机
    0
    1990-03-18
    50
    NULL
    NULL
    081113
    严红
    计算机
    0
    1989-08-11
    48
    NULL
    有一门功课不及格,待补考
    081201
    王敏
    通信工程
    1
    1989-06-10
    42
    NULL
    NULL
    081202
    王林
    通信工程
    1
    1989-01-29
    40
    NULL
    有一门课不及格,待补考
    2. KC: 课程表
    课程号
    课程名
    开课学期
    学时
    学分
    101
    计算机基础
    1
    80
    5
    102
    程序设计与语言
    2
    68
    4
    206
    离散数学
    4
    68
    4
    208
    数据结构
    5
    68
    4
    209
    操作系统
    6
    68
    4
    210
    计算机原理
    5
    85
    5
    212
    数据库原理
    7
    68
    4
    301
    计算机网络
    7
    51
    3
    302
    软件工程
    7
    51
    3
    3. XS_KC: 成绩表
    学号
    课程号
    成绩
    学分
    081101
    101
    80
    5
    081101
    102
    78
    4
    081101
    206
    76
    4
    081102
    102
    78
    4
    081102
    206
    78
    4
    081103
    101
    62
    5
    081103
    102
    70
    4
    081103
    206
    81
    4
    对xscj数据库完成以下查询:
    1. 查找选修了离散数学的学生学号
    2. 查找未选修离散数学的学生的姓名、学号和专业名
    3. 查找xs表中比所有计算机系的学生年龄都大的学生的学号,姓名,专业名和出生日期
    4. 查找xs_kc表中课程号206的成绩不低于课程号101的最低成绩的学生的学号
    5. 查找选修206号课程的学生姓名
    6. 查找选修了离散数学最高分,最低分的学生姓名,成绩
    7. 查找自己选修的课程,课程不同,成绩相同的情况。显示学号,课程号,成绩
    8。将xs中各专业名输出
    9。求被选修的各门课程的平均成绩和选修该课程的人数,显示课程号,平均成绩,选课人数
    10。在xscj数据库上产生一个结果集,包括每个专业的男生人数,女生人数,总人数,以及学生总人数
    11。查找平均成绩在85分以上的学生的学号和平均成绩
    12。查找平均成绩在85分以上的学生的学号、姓名和平均成绩
    13。查找选修课程超过2门且成绩都在80分以上的学生的学号
    14。将通信工程专业的学生按出生日期先后排序
    15。将计算机专业学生的“计算机基础”课程成绩按降序排列
    16。将计算机专业学生按其平均成绩排列
    17。查找xs表中学号最靠前的5位学生的信息
    18。查找xs表中从第4位同学开始的5位学生的信息
  • Xscj数据库中数据库表的数据如下。
    1. Xs:学生基本情况表学号
    姓名专业名
    性别出生时间
    总学分照片
    备注081101
    王林计算机
    11990-02-10
    50NULL
    NULL081102
    程明计算机
    11991-02-01
    50NULL
    NULL081103
    王燕计算机
    01989-10-06
    50NULL
    NULL081104
    韦严平计算机
    11990-08-26
    50NULL
    NULL081106
    李方方计算机
    11990-11-20
    50NULL
    NULL081107
    李明计算机
    11990-05-01
    54NULL
    提前修完《数据结构》,并获学分081108
    林一帆计算机
    11989-08-05
    52NULL
    已提前修完一门课081109
    张强民计算机
    11989-08-11
    50NULL
    NULL081110
    张蔚计算机
    01991-07-22
    50NULL
    三好生081111
    赵琳计算机
    01990-03-18
    50NULL
    NULL081113
    严红计算机
    01989-08-11
    48NULL
    有一门功课不及格,待补考081201
    王敏通信工程
    11989-06-10
    42NULL
    NULL081202
    王林通信工程
    11989-01-29
    40NULL
    有一门课不及格,待补考2. KC: 课程表
    课程号课程名
    开课学期学时
    学分101
    计算机基础1
    805
    102程序设计与语言
    268
    4206
    离散数学4
    684
    208数据结构
    568
    4209
    操作系统6
    684
    210计算机原理
    585
    5212
    数据库原理7
    684
    301计算机网络
    751
    3302
    软件工程7
    513
    3. XS_KC: 成绩表学号
    课程号成绩
    学分081101
    10180
    5081101
    10278
    4081101
    20676
    4081102
    10278
    4081102
    20678
    4081103
    10162
    5081103
    10270
    4081103
    20681
    4对xscj数据库完成以下查询:
    1. 查找选修了离散数学的学生学号SELECT `学号` FROM `xs_kc`
    WHERE `课程号`=(SELECT `课程号` FROM `kc` WHERE `课程名`='离散数学')
    2. 查找未选修离散数学的学生的姓名、学号和专业名SELECT 学号,姓名,专业名
    FROM `xs`WHERE NOT EXISTS( SELECT * FROM xs_kc WHERE `xs_kc`.学号=`xs`.学号
    AND 课程号=(SELECT 课程号 FROM `kc` WHERE `课程名`='离散数学' ))3. 查找xs表中比所有计算机系的学生年龄都大的学生的学号,姓名,专业名和出生日期
    SELECT * FROM xs WHERE `出生时间` < ALL(SELECT `出生时间` FROM xs WHERE 专业名='计算机')
    4. 查找xs_kc表中课程号206的成绩不低于课程号101的最低成绩的学生的学号SELECT `学号`,成绩 FROM xs_kc WHERE `课程号`='206' AND `成绩` >=
    (SELECT MIN(`成绩`) FROM xs_kc WHERE `课程号`='101')5. 查找选修206号课程的学生姓名
    SELECT * FROM xs WHERE 学号 IN (SELECT 学号 FROM xs_kc WHERE 课程号='206')6. 查找选修了离散数学最高分,最低分的学生姓名,成绩
    SELECT `xs`.`学号`,`姓名`,`成绩`FROM xs_kc JOIN `xs`
    ON `xs_kc`.`学号`=`xs`.`学号`WHERE 成绩 IN ((SELECT MAX(`成绩`) FROM xs_kc
    WHERE 课程号=(SELECT `课程号` FROM `kc` WHERE `课程名`='离散数学')),(SELECT MIN(`成绩`) FROM xs_kc
    WHERE 课程号=(SELECT `课程号` FROM `kc` WHERE `课程名`='离散数学')) )7. 查找自己选修的课程,课程不同,成绩相同的情况。显示学号,课程号,成绩
    SELECT a.学号,a.课程号,a.成绩FROM XS_KC AS a
    WHERE EXISTS( SELECT * FROM XS_KC AS bWHERE a.成绩=b.成绩 AND a.学号=b.学号 AND a.课程号!=b.课程号);
    8。将xs中各专业名输出SELECT `专业名` FROM xs GROUP BY `专业名`
    或者SELECT distinct `专业名` FROM xs
    求xs中各专业的学生数SELECT `专业名`,count(*) 学生数 FROM xs GROUP BY `专业名`
    9。求被选修的各门课程的平均成绩和选修该课程的人数,显示课程号,平均成绩,选课人数SELECT `课程号`,AVG(`成绩`) 平均成绩,COUNT(*) 选课人数
    FROM xs_kc GROUP BY `课程号`10。在xscj数据库上产生一个结果集,包括每个专业的男生人数,女生人数,总人数,以及学生总人数
    SELECT 专业名,性别,COUNT(*) 人数FROM xs
    GROUP BY 专业名,性别WITH ROLLUP
    11。查找平均成绩在85分以上的学生的学号和平均成绩SELECT `学号`,AVG(`成绩`)
    FROM xs_kcGROUP BY `学号`
    HAVING AVG(`成绩`)>=8512。查找平均成绩在85分以上的学生的学号、姓名和平均成绩
    SELECT `xs_kc`.`学号`,AVG(`成绩`) ,姓名FROM xs_kc JOIN xs ON xs_kc.学号=xs.学号
    GROUP BY `学号`HAVING AVG(`成绩`)>=85
    13。查找选修课程超过2门且成绩都在80分以上的学生的学号SELECT `学号`
    FROM xs_kcWHERE `成绩`>=80
    GROUP BY `学号`HAVING (COUNT(*)>2)
    14。将通信工程专业的学生按出生日期先后排序SELECT *
    FROM xsWHERE `专业名`='通信工程'
    ORDER BY `出生时间`15。将计算机专业学生的“计算机基础”课程成绩按降序排列
    SELECT xs.*,`xs_kc`.`成绩`FROM `xs` JOIN `xs_kc` ON `xs`.`学号`=`xs_kc`.`学号`
    JOIN `kc` ON `kc`.`课程号`=`xs_kc`.`课程号`WHERE `专业名`='计算机' AND `课程名`='计算机基础'
    ORDER BY `成绩` DESC16。将计算机专业学生按其平均成绩排列
    SELECT `xs_kc`.`学号`,AVG(`成绩`)FROM `xs` JOIN `xs_kc` ON `xs`.`学号`=`xs_kc`.`学号`
    WHERE `专业名`='计算机'GROUP BY `xs_kc`.`学号`
    ORDER BY 2 DESC17。查找xs表中学号最靠前的5位学生的信息
    SELECT *FROM xs
    ORDER BY `学号`LIMIT 5
    18。查找xs表中从第4位同学开始的5位学生的信息SELECT *
    FROM xsLIMIT 3,5

    举一反三

    内容

    • 0

      【其它】5.5 多表查询(上机实训) 【1】查询所有选修课程的学生学号、姓名、课程号和成绩。 【2】查询所有选修课程的学生学号、课程名称和成绩。 【3】查询所有女生学号、姓名、系编号和所在系名称。 【4】查询所有选修课程并且成绩大于90分的学生学号、姓名、课程号和成绩。 【5】查询所有选修课程的学生学号、姓名、课程名称和成绩。 【6】查询所有选修课程并且成绩大于90分的学生学号、姓名、课程名称和成绩

    • 1

      设学生表和成绩表的结构分别为(学号,姓名,所在系)和(学号,课程名,成绩),如果希望按分数降序查询出“英语系中选修了计算机课程的学生姓名和成绩”,则对应的SQL语句是()。 A: SELECT姓名,成绩FROM学生表,成绩表WHERE所在系=‘英语系’AND课程名=‘计算机’AND学生表.学号=课程表.学号 B: SELECT姓名,成绩FROM学生表,成绩表WHERE所在系=‘英语系’AND课程名=‘计算机’AND学生表.学号=课程表.学号ORDERBY成绩ASC C: SELECT姓名,成绩FROM学生表,成绩表WHERE所在系=‘英语系’AND课程名=‘计算机’AND学生表.学号=课程表.学号ORDERBY成绩 D: SELECT姓名,成绩FROM学生表,成绩表WHERE所在系=‘英语系’AND课程名=‘计算机’AND学生表.学号=课程表.学号ORDERBY成绩DESC

    • 2

      如表10.6、表10.7和表10.8所示,用SQL语言实现下列操作。 [img=347x494]1802ffe73cba0a1.png[/img]查询缺成绩的学生名及课程号。正确的SQL语句是_____ 。 A: SELECT 姓名,课程号 FROM 学生,选课WHERE 学生.学号=选课.学号 AND 成绩 IS NULL B: SELECT 姓名,课程号 FROM 学生,选课WHERE 学生.学号=选课.学号 AND 成绩=‘ ’ C: SELECT 姓名,课程号 FROM 学生,选课WHERE 成绩 IS NULL D: SELECT 姓名,课程号 FROM 学生,选课 WHERE 成绩=‘ ’

    • 3

      现有如下关系:学生(学号,姓名,性别,专业,出生年月)教师(教师编号,姓名,所在部门,职称)授课(教师编号,学号,课程编号,课程名称,教材,学分,成绩)(15分) (1)查找学习“数据库原理”课程且成绩不及格的学生学号和任课教师编号。(3分)(2)删除学生表中学号为“9903016”的记录。(3分) (3)查找教师“李洪”所教的学生成绩为90分以上(包括90)的学生学号。(3分) (4)将编号为“60016”的教师所在的部门改为“计算机系”。(3分) (5)查找学习“英语”课程的“计算机应用”专业学生的学号、姓名和成绩。(3分)

    • 4

      以电子书3-11-3-13表学生管理数据库为例,进行下列操作:1、查询第一学期开设的课程号和课程名;2、查询年龄大于18的男同学的学号、姓名,所在系;3、查询计算机系的所有女学生的学号和姓名;4、查询“李勇”同学选修的课程号和成绩;5、查询“李勇”同学选修的课程号、课程名和成绩;6、查询“数据库原理'课程选修的学生姓名和成绩;7、查询选修了课程号为C001和C002的学生学号;8、查询刘晨不学的课程号;9、查询全部学生都选修的课程号、课程名;10、查询选修了全部课程的学生的学号和姓名。