这个作业属于哪个课程 | 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 性别 form student_info WHERE 姓名='刘东阳');
2.使用IN子查询查找所修课程编号为0002、0005的学生学号、姓名、性别。
SELECT s.学号,姓名,性别 FROM student_info s,grade g
WHERE s.学号=g.学号 AND 课程编号 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区别,并总结。
①delete
用法:delete from 表名 (where 列名 = 值)
delete用来删除表中已经存在的数据,是按行删除数据,不是删除行中某些列的数据。
delete可根据条件删除表中满足条件的数据,如果不指定where子句,那么删除表中所有记录。
②drop
用法:drop table 表名/drop database数据库名
drop语句删除表结构及所有数据,并将表所占用的空间全部释放。
drop还可用来删除数据库。
③truncate
用法:truncate table 表名
truncate用来删除表中的所有数据行,但表的结构扔保留。
truncate table不能用于参与了索引视图的表。