这个作业属于哪个课程 | https://edu.cnblogs.com/campus/uzz/cs3 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/uzz/cs3/homework/13074 |
这个作业的目标 | <SQL语句的基本使用5-多值子查询> |
1.在student_info表中查找与“刘东阳”性别相同的所有学生的姓名、出生日期。
select 姓名,出生日期 from student_info where 性别=(select 性别 from student_info where 姓名='刘东阳' );
2.使用IN子查询查找所修课程编号为0002、0005的学生学号、姓名、性别。
select 学号,姓名,性别 from student_info where 学号 in(select 学号 from grade where 课程编号 in(0002,0005));
3.使用ANY子查询查找学号为0001的学生的分数比0002号的学生的最低分数高的课程编号和分数。
select 课程编号,学分 from grade where 学分>any(select 学分 from grade where 学号='0002') and 学号='0001';
4.使用ALL子查询查找学号为0001的学生的分数比学号为0002的学生的最高成绩还要高的课程编号和分数。
select 课程编号,学分 from grade where 学分>all(select 学分 from grade where 学号='0002') and 学号='0001';
5.使用UNION运算符针student_info表中姓“刘”的学生的学号、姓名与姓“张”的学生的学号、姓名返回在一个表中。
select 学号,姓名 from student_info where 姓名 like'刘%' union
select 学号,姓名 from student_info where 姓名 like'张%';
6.思考:delete 、drop、truncate区别,并总结。
1.数据恢复方面:delete 可以恢复删除的数据,而 truncate 和 drop 不能恢复删除的数据。
2.执行速度方面:drop > truncate > delete。
3.删除数据方面:drop 是删除整张表,包含行数据和字段、索引等数据,而 truncate 和 drop 只删除了行数据。
4.添加条件方面:delete 可以使用 where 表达式添加查询条件,而 truncate 和 drop 不能添加 where 查询条件。
5.重置自增列方面:在 InnoDB 引擎中,truncate 可以重置自增列,而 delete 不能重置自增列。
7.整理课上关于多值子查询的例子,以笔记形式、或者视频讲授形式呈现。尽可能通俗易懂,不限于形式。
https://www.123pan.com/s/a47hjv-46rf3.html