• 2021-04-14
    1000个学生,10000个选课记录。2号课程选课记录50个。一块内存可以放10个学生或者100个选课记录。计算机的内存有限,只能同时放下5块学生、1块选课记录和若干连接结果。计算机每秒可读写20块。问若先做学生和选课记录的笛卡儿积运算,至少需要读取()遍选课记录表?
  • 20

    举一反三

    内容

    • 0

      创建一个学生选课字典,字典记录两名学生选课信息,学生姓名为键,选择的课程用列表表示,创建完成后输出每个学生姓名及选课信息

    • 1

      学生选课数据库中有如下两张表: 学生表(学号,姓名,专业) 选课表(学号,课程号,成绩) 其中,选课表中记录学生选课情况,每个学生可以选多门课,每门课可以有多个学生选修。 如果要查询所有同学的选课情况,包括没有选课的学生,应该使用( )连接 A: 内 B: 外 C: 交叉 D: 自然

    • 2

      【单选题】若有“学生”、“课程”、“选课”三张表,其关系模式分别为:学生 ( 学号 , 姓名 , 性别 , 出生日期 , 班级 ) ,课程 ( 课程号 , 课程名 , 学分 ) ,选课 ( 学号 , 课程号 , 成绩 ) ,下列哪个语句可以实现查询学生的学号和姓名、所选课程的课程号和课程名以及成绩的功能? A. SELECT 学号 , 姓名 , 课程号 , 课程名 , 成绩 FROM 学生 , 课程 , 选课 B. SELECT 学号 , 姓名 , 课程号 , 课程名 , 成绩 FROM 学生 , 课程 , 选课 WHERE 学生 . 学号 = 选课 . 学号 AND 选课 . 课程号 = 课程 . 课程号 C. SELECT 学生 . 学号 , 姓名 , 课程 . 课程号 , 课程名 , 成绩 FROM 学生 , 课程 , 选课 WHERE 学生 . 学号 = 选课 . 学号 , 选课 . 课程号 = 课程 . 课程号 D. SELECT 学生 . 学号 , 姓名 , 课程 . 课程号 , 课程名 , 成绩 FROM 学生 , 课程 , 选课 WHERE 学生 . 学号 = 选课 . 学号 AND 选课 . 课程号 = 课程 . 课程号

    • 3

      “选课”表中有“学号”和“课程编号”等字段,每名学生每选课一门生成一条记录,要求按学生学号统计出每名学生的选课门数,下列SQL语句中,正确的是( )。 A: SELECT 学号, Count(学号) AS 选课门数 FROM 选课 B: SELECT 学号, Count(学号) AS 选课门数 FROM选课 GROUP BY 学号 C: SELECT 学号, Sum(学号) FROM选课 GROUP BY 学号 D: SELECT 学号, Sum(学号) FROM选课 ORDER BY 学号

    • 4

      查询选修课程号为“101”课程得分最高的同学,正确的SQL语句是( )。 A: A) SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号AND 课程号="101" AND 成绩>=ALL(SELECT 成绩 FROM 选课) B: B) SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE 课程号="101") C: C) SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号AND 成绩>=ANY(SELECT 成绩 FROM 选课 WHERE 课程号="101") D: D) SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号AND 课程号="101" AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE 课程号="101")