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 分数>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)detele 可用于删除表的部分或所有数据。
DELETE FROM table_name WHERE condition

(2)Drop 用于删除整个数据库对象
DROP TABLE table_name;

(3)truncate 执行效果和 delete 类似,也是用来删除表中的所有行数据的,但是保留表的结构。
TRUNCATE TABLE table_name;

truncate 在使用上和 delete 最大的区别是,delete 可以使用条件表达式删除部分数据,而 truncate 不能加条件表达式,所以它只能删除所有的行数据。
Drop删除的是整张表,而truncate只删除表中的内容。

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

链接:https://pan.baidu.com/s/1AZlPcoQZxmTs8GUcnRMprg?pwd=loqk
提取码:loqk

posted @ 2023-10-19 16:39  于伟123  阅读(52)  评论(0)    收藏  举报