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

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

时间:2023-10-19 22:44:22浏览次数:46  
标签:语句 分数 多值子 truncate drop SQL where select delete

这个作业属于哪个课程 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 分数 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区别,并总结。



(1)语法不同:truncate和delete是SQL语句,drop是DDL(数据定义语言)语句。

(2)执行速度不同:truncate比delete和drop快,因为它直接删除整个表而不是一行一行地删除。

(3)回滚方式不同:truncate和drop是不可回滚的操作,一旦执行完成,就无法恢复。而delete可以在事务中回滚。

(4)可以删除的范围不同:truncate和delete只能删除表中的数据,而drop可以删除整个表。

(5)是否保留表结构不同:truncate和delete保留表结构,而drop删除整个表,包括表结构。

(6)是否激活触发器不同:delete会激活触发器,而truncate和drop不会激活触发器。

总结:如果需要删除整个表并重新创建,则使用drop语句;如果需要删除表中的数据,但保留表结构,则使用truncate语句;如果需要删除表中的数据,并激活触发器,则使用delete语句



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

链接:https://www.123pan.com/s/af7hjv-Gr9t.html

标签:语句,分数,多值子,truncate,drop,SQL,where,select,delete
From: https://www.cnblogs.com/zglmk/p/17775891.html

相关文章

  • 用友畅捷通 畅捷CRM get_usedspace.php SQL注入漏洞
    漏洞简介畅捷CRMget_userspace.php文件中site_id参数存在SQL注入漏洞漏洞复现fofa语法:icon_hash="-1068428644"登录页面如下:POC:GET/WebSer~1/get_usedspace.php?site_id=-1159%20UNION%20ALL%20SELECT%20CONCAT(0x7178767671,0x5664726e476a637a565a50614d4c435745446a......
  • 用友时空KSOA dept.jsp SQL注入漏洞
    漏洞简介用友时空KSOA是建立在SOA理念指导下研发的新一代产品,是根据流通企业最前沿的I需求推出的统一的IT基础架构,它可以让流通企业各个时期建立的IT系统之间彼此轻松对话,帮助流通企业保护原有的IT投资,简化IT管理,提升竞争能力,确保企业整体的战略目标以及创新活动的实现。系统dep......
  • 用友GPR-U8 slbmbygr SQL注入漏洞
    漏洞简介用友GRP-U8是面向政府及行政事业单位的财政管理应用。北京用友政务软件有限公司GRP-U8SQL注入漏洞。漏洞复现fofa语法:app="用友-GRP-U8"登录页面如下:POC:/u8qx/slbmbygr.jsp?gsdm=1';WAITFORDELAY'0:0:5'--sqlmap梭哈nuclei批量yaml文件id:yonyou_GRPU8_slb......
  • 用友GRP-RMIS datalist.jsp SQL注入漏洞
    漏洞描述用友GRP-RMIS系统的datalist.jsp存在sql注入漏洞漏洞复现fofa语法:app="用友-GRP-RMIS系统"系统登录页面如下:POC:POST/datalist.jspHTTP/1.1Host:xxxxUser-Agent:python-requests/2.31.0Accept-Encoding:gzip,deflateAccept:*/*Connection:closeConten......
  • SQL语句的学习
    大小写转化lower和upperSELECTLOWER('sadaWWRWR'),UPPER('sasfaf')翻转字符串SELECTREVERSE("今天好好学习")截取字符串截取空格trim(x)会将x前后空格去除ltrim(x)会将x左边的空格去除rtrim(x)会将x右边的空格去除SELECTTRIM('  你好  '),LTRIM('  你好......
  • SQL语句的学习
    查看当前使用的数据库selectdatabase()命名规范(参照Java标识符)表名tab_实际意义名字或者_实际意义名字实际意义的名字:见其名字,知道表中存储的信息的意义,不建议使用拼音字段的命名:表名缩写_有意义字段名缩写:一般是取表有意义的名字首字母,如果首字母相同取俩位,以此类推所有的名称......
  • mysql复习
    创建索引的原则?1、选择唯―性索引:唯―性索引的值是唯一的。可以更快的通过该索引来确定某条记录。2、为经常需要排序、分组;以及联合查询的列创建索引。3、为经常作为查询条件的列创建索引,4、限制索引的数目:越多的索引越导致表的查询效率变低,因为索引表在每次更新表数据的时候......
  • mysql函数CASE WHEN简单使用
    实际案例CASEwhencc.cLIKE'%迟到%'THEN'扣一分'ELSENULLEND如果有个需要判断CASEwhencc.cLIKE'%迟到%'THEN'扣一分'whencc.cLIKE'%早退%'THEN'扣两分'ELSENULLEND这里的case和w......
  • MySQL回表和覆盖索引
    一、回表在InnoDB存储引擎里,利用辅助索引查询,先通过辅助索引找到主键索引的键值,再通过主键值查出主键索引里面没有符合要求的数据,它比基于主键索引的查询多扫描了一棵索引树,这个过程就叫回表。例如:select*fromuserwherename=‘张三’;二、覆盖索引在辅助索引里面,不管是单......
  • 深入了解 PostgreSQL:功能、特性和部署
    PostgreSQL,通常简称为Postgres,是一款强大且开源的关系型数据库管理系统(RDBMS),它在数据存储和处理方面提供了广泛的功能和灵活性。本文将详细介绍PostgreSQL的功能、特性以及如何部署和使用它。什么是PostgreSQL?PostgreSQL是一款开源的、免费的关系型数据库管理系统。它具有以下......