DingCL

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

SQL语句的基本使用5-多值子查询

这个作业属于哪个课程 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 学号='0001' and 分数>any (select min(分数) from grade where 学号='0002');

4.使用ALL子查询查找学号为0001的学生的分数比学号为0002的学生的最高成绩还要高的课程编号和分数。

select 课程编号,分数 from grade 
where 学号 ='0001' and 分数 >all (select max(分数) 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:

DELETE 语句用于删除表中的行。
DELETE语句只删除数据,而保留表的结构不变。

DROP:

删除表结构及所有数据,并将表所占用的空间全部释放。
DROP操作非常快速,因为它只需释放表所占用的空间。

TRUNCATE:

TRUNCATE语句用于删除表中的所有数据,但保留表的结构。
清空表或者说是截断表,只能作用于表。
执行truncate语句需要拥有表的drop权限

总结:

DELETE用于删除表中的一行或多行数据,并支持条件筛选。
DROP用于完全删除整个表,包括数据和结构,并释放相关的存储空间。
TRUNCATE用于删除表中的所有数据,但保留表的结构,且效率更高。

7.整理课上关于多值子查询的例子,以笔记形式、或者视频讲授形式呈现。尽可能通俗易懂,不限于形式。

https://www.123pan.com/s/IMbhjv-9ekrh.html

posted on 2023-10-21 12:42  DingCL  阅读(46)  评论(0编辑  收藏  举报