SQL语句的基本使用5-多值子查询
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/uzz |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/uzz/cs3/homework/13036 |
这个作业的目标 | SQL语句的基本使用5-多值子查询 |
1.在student_info表中查找与“刘东阳”性别相同的所有学生的姓名、出生日期。
select 姓名,出生日期
from student_info
where 性别=(select 性别
from student_info
where 姓名='刘东阳');
2.使用IN子查询查找所修课程编号为0002、0005的学生学号、姓名、性别。
select student_info.学号,姓名,性别
from student_info,grade
where student_info.学号=grade.学号 and 课程编号 in ('0002','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区别,并总结。
- delete语句用于删除表中的某一条或一行数据,可以保留该操作在事务日志中,并可以进行回滚操作
- drop语句用于删除整个表,包括表结构和数据,不会自动提交,也不能进行回滚操作
- truncate语句用于清空表中的数据,释放空间,但不会删除定义
总的来说,delete和drop的区别在于删除的数据和定义是否被保留,而truncate则是清空整个表并释放空间
7.整理课上关于多值子查询的例子,以笔记形式、或者视频讲授形式呈现。尽可能通俗易懂,不限于形式。