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

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

时间:2023-10-16 20:34:23浏览次数:38  
标签:语句 分数 多值子 删除 学号 数据表 SQL where select

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

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

mysql> select 姓名,出生日期 from student_info where 性别=(select 性别 from student_info where 姓名='刘东阳');

image

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

mysql> select s.学号,s.姓名,s.性别 from student_info s,grade g where s.学号=g.学号 and 课程编号 in(0002,0005);

image

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

mysql> select 课程编号,分数 from grade where 学号='0001' and 分数>any
    -> (select min('分数') from grade where 学号='0002');

image

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

mysql> select 课程编号,分数 from grade where 学号='0001' and 分数>all
    -> (select max('分数') from grade where 学号='0002');

image

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

mysql> select 学号,姓名 from student_info where 姓名 like '刘%'
    -> union
    -> select 学号,姓名 from student_info where 姓名 like '张%';

image

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

Delete :

(对数据库中的表进行操作)
删除数据表中的行(可以删除某一行,也可以在不删除数据表的情况下删除所有行)。
删除某一行:Delete from 数据表名称 where 列名称=值;
删除所有行:Delete * from 数据表名称

Drop

Drop :删除数据表或数据库,或删除数据表字段。
删除数据库:drop database 数据库名称
删除数据表:(表的结构、属性、索引也会被删除)

Truncate

Truncate:删除数据表中的数据(仅数据表中的数据,不删除表)。
比较:删除数据的速度,一般来说: drop> truncate > delete
总结:在使用drop和truncate时一定要注意,虽然可以恢复,但为了减少麻烦,还是要慎重。
如果想删除部分数据用delete,注意带上where子句,回滚段要足够大;
如果想删除表,当然用drop;
如果想保留表而将所有数据删除,如果和事务无关,用truncate即可;

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

https://www.123pan.com/Weboffice?type=f&id=2662961&FileName=多值子查询.pdf&Size=114909&Etag=512f95fb167edbda42867ccceb00e6ef&S3KeyFlag=1818465089-0&CreateAt=1697458809&UpdateAt=1697458809&from=1&source=pc&uid=1818465089

标签:语句,分数,多值子,删除,学号,数据表,SQL,where,select
From: https://www.cnblogs.com/sss0215/p/17767468.html

相关文章

  • pymysql模块
    pymysql模块是python3中用于操作mysql数据库的一个库,不是自带模块,需要运行pipinstallpymysql进行安装。数据库的操作无非连接、查询、增、删、改:示例:1importpymysql23#打开数据库连接4conn=pymysql.connect(5host="localhost",6user="sq_test......
  • linux安装myql-server及libmysqlclient
    1.去官网下载对应的仓库源https://dev.mysql.com/downloads/下面以centos8为例#仓库下载直链为https://dev.mysql.get/{具体的仓库名}wgethttps://dev.mysql.com/get/mysql80-community-release-el8-8.noarch.rpmyuminstall./mysql80-community-release-el8-8.noarch.r......
  • mysql 包含的数据库操作的类型
    DQL 一级操作最常用的操作 查询表中数据DML二级操作  对表做增删改查 insetupdatedeleteDDL三级操作 对表的结构做增删改查 creat dropalterTCL四级操作 对数据库事务做修改 commit  rollbackDCL五级操作 数据控制语言grantrevoke......
  • 数据库系统笔记 - chap3 - SQL
    IntroductiontoSQLSQL(StructuredQueryLanguage),是关系数据库的标准查询语言。SQL的特点:综合统一SQL集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)功能于一体。高度非过程化SQL只要提出“做什么”,而无须指明“怎么做”,因此无须了解存取路径。存取路径的选择......
  • java批量执行atax同步MySQL表时出现卡住问题处理
    中断问题和datax中自带的MySQLjar包版本有关,更换后即可。背景:有个需求需要把服务器上的mysql业务库数据同步到另一台服务器上,我选择了datax来做批量同步操作。现象:java批量执行的代码写好后,在自己电脑(win10)执行没问题,换了一台电脑(也是windowsserver2019),报以下错误://执行以......
  • windows下mysql忘记密码怎么办?
    1.关闭正在运行的MySQL服务。【Win+r】,之后输入【SERVICES.MSC】然后回车,会打开服务列表,在服务列表输入【mysql】即可选中mysql对应服务,找到自己的mysql服务,我的是MYSQL57选中它【右键】单击,然后点击【停止】选项即可停止mysql服务。2.找到本地安装mysql的bin目录,然后打开cmd......
  • MySQL常用命令
    登录MySQL控制台:mysql-uusername-p:使用指定用户名登录MySQL,系统将提示输入密码mysql-hhost-uusername-p:使用指定主机、用户名登录MySQL,系统将提示输入密码quit或\q:退出控制台常见的SQL命令:CREATEDATABASEdbname;:创建名为dbname的数据库DROPDATABASEdbname;......
  • C# using 语句 - 确保正确使用可释放对象
    原文如下using语句-确保正确使用可释放对象-C#|MicrosoftLearnusing 语句可确保正确使用 IDisposable 实例:varnumbers=newList<int>();using(StreamReaderreader=File.OpenText("numbers.txt")){......
  • MYSQL:由一条慢查询引入思考 (MYSQL8)
    原文地址:https://mp.csdn.net/mp_blog/creation/editor/130300178​ 开始之前,我们先思考以下几个问题(下文将围绕以下三个问题展开):1.什么是慢查询,查询多少秒以上算是慢查询?2.如何解决慢查询和如何避免慢查询?3.提升查询性能必知必会 目录一、慢查询1.1 什么是慢查询?......
  • mysql常用查询
    1、Mysql查询某个表的字段名selectCOLUMN_NAMEfrominformation_schema.COLUMNSwheretable_name='business_info'; 2、生成数据字典selectTABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,COLUMN_TYPE,COLUMN_COMMENTfrominformation_schema.columnswhereTABLE_SCHEMA......