/* 根据stu.sql脚本中的数据表完成下列操作: 1) 查询学生选课表中的全部数据 2) 查询全体学生的姓名、学号和所在系。 3) 查询全体学生的姓名及其出生年份。 4) 查询计算机系全体学生的姓名。 5) 查询年龄在33岁以下的学生的姓名及年龄。 6)查询考试成绩有不及格的学生的学号 7)查询成绩在70~80分之间的学生,包括学号,课程号和成绩 【提示】stu.sql文件,在班级群中, 拿到stu.sql文件后,先在数据库创建新的库 studb2, 然后再source。 库中的表说明如下: student 学生表 teacher 教师表 course 课程表 sc 成绩表 计算年龄的方式: floor(datediff(now(), age)/365) as age */ -- 删除已存在同名数据库 studb2 drop database if exists studb2; -- 新建数据库 studb2 create database studb2; -- 进入数据库 studb2 use studb2; -- 导入 stu.sql 数据到数据库 stu source stu.sql; -- 显示导入结果 show tables; -- 查询学生选课表中的全部数据 SELECT * FROM course; -- 查询全体学生的姓名、学号和所在系 SELECT student.name AS '姓名', student.sid AS '学号', xb.name AS '所在系' FROM student JOIN xb ON student.xid = xb.xid; -- 查询全体学生的姓名及其出生年份 SELECT name AS '学生姓名', YEAR(age) AS '出生年份' FROM student; -- 查询计算机系全体学生的姓名 SELECT xb.name AS '所在系', student.name AS '姓名' FROM xb JOIN student ON xb.xid = student.xid WHERE xb.name = '计算机系'; -- 查询年龄在33岁以下的学生的姓名及年龄 SELECT name AS '姓名', FLOOR(DATEDIFF(NOW(), age)/365) AS '年龄' FROM student WHERE FLOOR(DATEDIFF(NOW(), age)/365) < 33; -- 查询考试成绩有不及格的学生的学号 DISTINCT 用于结果行去重 SELECT DISTINCT student.sid AS '学号' FROM student JOIN sc ON student.sid = sc.sid WHERE sc.score < 60; -- 查询成绩在70-80分之间的学生,包括学号,课程号和成绩 SELECT student.sid AS '学号', sc.cid AS '课程号', sc.score AS '成绩' FROM student JOIN sc ON student.sid = sc.sid -- WHERE sc.score BETWEEN 70 AND 80; WHERE sc.score >= 70 and sc.score <= 80;