首页 > 数据库 >SQL语句的基本使用5-多值子查询

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

时间:2023-10-19 18:25:03浏览次数:34  
标签:语句 分数 多值子 删除 学号 姓名 student SQL select

这个作业属于哪个课程 https://edu.cnblogs.com/campus/uzz/cs3
这个作业要求在哪里 https://edu.cnblogs.com/campus/uzz/cs3/homework/13074
这个作业的目标 SQL语句的基本使用5-多值子查询

1.在student_info表中查找与“刘东阳”性别相同的所有学生的姓名、出生日期。

select 姓名,出生日期from student_infowhere 性别=(select 性别from student_infowhere 姓名='刘东阳');

2.使用IN子查询查找所修课程编号为0002、0005的学生学号、姓名、性别。

select student_info.学号,姓名,性别 from student_info,gradewhere student_info.学号=grade.学号 and 课程编号 in ('0002','0005');

3.使用ANY子查询查找学号为0001的学生的分数比0002号的学生的最低分数高的课程编号和分数。

select 课程编号,分数 from gradewhere 学号='0001' and 分数>any(select 分数 from gradewhere 学号='0002');

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

select 课程编号,分数 from gradewhere 学号='0001' and 分数>all(select 分数 from gradewhere 学号='0002');

5.使用UNION运算符针student_info表中姓“刘”的学生的学号、姓名与姓“张”的学生的学号、姓名返回在一个表中。

select 学号,姓名 from student_infowhere 姓名 like '刘%'unionselect 学号,姓名 from student_infowhere 姓名 like '张%';

思考:delete 、drop、truncate区别,并总结。

1)Delete 用于删除表中的数据,可以选择性删除满足条件的数据(删除表的部分或所有数据
2)Drop 用于删除整个数据库对象
3)Truncate 用于一次性删除表中的所有数据,删除所有的行数据,保留表的结构,比逐行删除更高效(truncate 执行效果和 delete 类似
总结: (1 delete 可以恢复删除的数据,而 truncate 和 drop 不能恢复删除的数据。
(2 执行速度方面:drop > truncate > delete。
(3 drop 是删除整张表,包含行数据和字段、索引等数据,而 truncate 和 drop 只删除了行数据。

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

https://www.123pan.com/s/MceEjv-ZimxA.html

标签:语句,分数,多值子,删除,学号,姓名,student,SQL,select
From: https://www.cnblogs.com/zbyy/p/17767360.html

相关文章

  • SQL语句的基本使用5-多值子查询
    这个作业属于哪个课程https://edu.cnblogs.com/campus/uzz/cs3/这个作业要求在哪里https://edu.cnblogs.com/campus/uzz/cs3/homework/13074这个作业的目标SQL语句的基本使用5-多值子查询1.在student_info表中查找与“刘东阳”性别相同的所有学生的姓名、出生日......
  • SQL语句的基本使用5-多值子查询
    这个作业属于哪个课程https://edu.cnblogs.com/campus/uzz/cs3这个作业要求在哪里https://edu.cnblogs.com/campus/uzz/cs3/homework/13074这个作业的目标<SQL语句的基本使用5-多值子查询>1、在student_info表中查找与“刘东阳”性别相同的所有学生的姓名、出生......
  • mysql多表查询
    第11讲:MySQL的多表查询原创 何先振 何先振 2023-08-2208:15 发表于广东收录于合集#MySQL初级教程24个以下文章来源于何先振,责编小何 多表查询操作的原因 表和表有很多对应的关系,比如:员工表都有自己的部门。当我们想查看一个员工的部门的时候,就需要查询部门表......
  • PostgreSQL查询约束和创建删除约束
    查询约束SELECTtc.constraint_name,tc.table_name,kcu.column_name,ccu.table_nameASforeign_table_name,ccu.column_nameASforeign_column_name,tc.is_deferrable,tc.initially_deferredFROMinformation_schema.table_constraintsAStc......
  • MySQL 8.0.34 MGR部署教程
    基于MySQL8.0.34MGR部署一、环境概述OSIPHostnameMySQLVersionDBPortMGRPortRedhat7.9172.20.10.3s18.0.34330633061Redhat7.9172.20.10.4s28.0.34330633061Redhat7.9172.20.10.5s38.0.34330633061    二、在各个节点安装M......
  • MySql执行异常处理、MySql事务回滚和提交,判断有异常则回滚。
    示例DELIMITER$$DROPPROCEDUREIFEXISTSsp_test1$$CREATEPROCEDUREsp_test1()top:BEGIN--错误标记,当sql执行出错的时候,设置标记等于1。DECLARE_errINTDEFAULT0;--错误标记处理,放到最后再声明,要放到游标后面。--不然会报错:Variableorcondit......
  • flex and bison usage in mysql
    queryparsinginmysqlmysqlsourcecodeversion:8.0.34(fromMYSQL_VERSIONfile)Thisanarticlefromquestionstounderstandings.whichfiledoesmysqlusetodefinesqlgrammar?sql/sql_yacc.yywhatisthenameyyparsereplacedwithinmysql?Sear......
  • 【SQL】where查询条件中的1=1 及<>的含义
    1=1 表示永远为真,不起约束作用查询所有,不会报错SELECTt.*,t.rowidFROMtable_nametWHERE1=1;Tips:查询table_name表中的所有数据 1<>1代表false, 返回空结果集SELECTt.*,t.rowidFROMtable_nametWHERE1<>1; Tips:table_name表中有无数据,均......
  • mysql三种方案优化 2000w 数据大表
    摘录自当我们业务数据库表中的数据越来越多,如果你也和我遇到了以下类似场景,那让我们一起来解决这个问题数据的插入,查询时长较长后续业务需求的扩展在表中新增字段影响较大表中的数据并不是所有的都为有效数据需求只查询时间区间内的评估表数据体量我们可以从表容量/磁......
  • mysql 日期时间值中获取年、月、日等部分日期或时间值
    在MySQL中,可以使用一系列内置函数来从日期时间值中获取年、月、日等部分日期或时间值。以下是一些常用的函数:YEAR():用于从日期时间值中提取年份。例如,SELECTYEAR('2023-06-12')将返回2023。MONTH():用于从日期时间值中提取月份。例如,SELECTMONTH('2023-06-12')将返回6。DAY():......