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 课程编号='0002' or 课程编号='0005');
3.使用ANY子查询查找学号为0001的学生的分数比0002号的学生的最低分数高的课程编号和分数。
select 课程编号 ,分数 from grade
-> where 学号='0001' and 分数 > any (select 分数 from grade where 学号='0002');
4.使用ALL子查询查找学号为0001的学生的分数比学号为0002的学生的最高成绩还要高的课程编号和分数。
select 课程编号 ,分数 from grade
-> where 学号='0001' and 分数 > all (select 分数 from grade where 学号='0002');
5.使用UNION运算符针student_info表中姓“刘”的学生的学号、姓名与姓“张”的学生的学号、姓名返回在一个表中。
select 学号, 姓名 from student_info where 姓名 like '刘%'
-> union
-> select 学号, 姓名 from student_info where 姓名 like '张%';
6.思考:delete 、drop、truncate区别,并总结。
1. DELETE
①用于删除表中的一行或多行数据,不是删除行中某些列的数据。
②可使用WHERE子句指定删除的条件。
2. DROP:
①用于删除整个表,包括表的结构和数据。
②删除表释放相关的存储空间。
3. TRUNCATE:
①用于删除表中的所有数据,但保留表的结构。
②删除和释放存储空间的操作是直接进行的,效率更高。
4.总结:
①DELETE用于删除表中的一行或多行数据,并支持条件筛选。
②DROP用于完全删除整个表,包括数据和结构,并释放相关的存储空间。
③TRUNCATE用于删除表中的所有数据,但保留表的结构,且效率更高。
7.整理课上关于多值子查询的例子,以笔记形式、或者视频讲授形式呈现。尽可能通俗易懂,不限于形式。
【Mysql-哔哩哔哩】
https://b23.tv/II3QinQ