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

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

时间:2023-10-21 12:55:51浏览次数:43  
标签:语句 分数 多值子 姓名 info student SQL where select

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 学号='0001' and 分数>any (select min(分数) from grade where 学号='0002');

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

select 课程编号,分数 from grade 
where 学号 ='0001' and 分数 >all (select max(分数) 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区别,并总结

DELETE:

DELETE 语句用于删除表中的行。
DELETE语句只删除数据,而保留表的结构不变。

DROP:

删除表结构及所有数据,并将表所占用的空间全部释放。
DROP操作非常快速,因为它只需释放表所占用的空间。

TRUNCATE:

TRUNCATE语句用于删除表中的所有数据,但保留表的结构。
清空表或者说是截断表,只能作用于表。
执行truncate语句需要拥有表的drop权限

总结:

DELETE用于删除表中的一行或多行数据,并支持条件筛选。
DROP用于完全删除整个表,包括数据和结构,并释放相关的存储空间。
TRUNCATE用于删除表中的所有数据,但保留表的结构,且效率更高。

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

https://www.123pan.com/s/IMbhjv-9ekrh.html

标签:语句,分数,多值子,姓名,info,student,SQL,where,select
From: https://www.cnblogs.com/DingCL/p/17778811.html

相关文章

  • Mybatis-Plus 语句日志输出
    两种方式都是在yml文件下配置第一种方式:mybatis-plus:configuration:log-impl:org.apache.ibatis.logging.stdout.StdOutImpl这种方式会将数据也一块输出出来,遇到查询较多数据的情况会导致看不到sql语句第二种方式:logging:level:com:***......
  • 1130 - Host 'xxx' is not allowed to connect to this MySQL server
    安装mysql-5.7.32数据库时,使用Navicat工具连接数据库时,出现Host'xxx'isnotallowedtoconnecttothisMySQLserver,详情如下: 两种解决方案,任选一个即可:1、修改mysql数据库用户表数据 执行如下SQL命令:usemysql;updateusersethost='%'whereuser......
  • MySQL学习(7)连接的原理
    什么是连接连接就是把各个表中的记录都取出来进行依次匹配。若无过滤条件,连接查询的结果集中包含一个表中的每一条记录与另一个表中的每一条记录相互匹配的组合,这样的结果集称为笛卡尔积。测试数据:CREATETABLEt1(m1INT,n1char(1));CREATETABLEt2(m2INT,n2char(1));......
  • 如何保障MySQL和Redis的数据一致性?
    先抛一下结论:在满足实时性的条件下,不存在两者完全保存一致的方案,只有最终一致性方案。根据网上的众多解决方案,总结出6种,直接看目录:  不好的方案 1、先写MySQL,再写Redis   如图所示: 这是一副时序图,描述请求的先后调用顺序; ......
  • 工具说明书 - DB Browser for SQLite
    https://blog.csdn.net/guoqx/article/details/121761216这里就要介绍一款,可以更加方便直接对SQLite的数据库操作的工具软件:DBBrowserforSQLite。 下载安装:Downloads-DBBrowserforSQLitehttps://sqlitebrowser.org/dl/ 下载64位安装版:DB.Browser.for.SQLite-3.12......
  • MySQL CASE()用法
    MySQL中的CASE表达式用于根据条件进行条件判断和返回多个可能的值。它允许在查询中执行简单的逻辑判断,并根据不同的条件返回不同的值或执行不同的操作。CASE表达式有两种形式:简单CASE和搜索CASE。简单CASE形式:CASEexpressionWHENvalue1THENresult1WHE......
  • MySQL IF()用法
    MySQL中的IF函数用于根据条件返回两个值中的一个。它可以应用于复杂查询和更新语句中,以便根据条件动态生成值。IF函数的语法如下:IF(condition,value_if_true,value_if_false)其中,condition是一个布尔表达式或一个返回布尔值的函数,value_if_true是条件为TRUE时返回......
  • Mysql FIND_IN_SET()用法
    MySQL中的FIND_IN_SET函数用于在逗号分隔的字符串列表中查找指定字符串的位置。它接受两个参数:要查找的字符串和逗号分隔的字符串列表。语法如下:FIND_IN_SET(string,string_list)其中,string是要查找的字符串,string_list是逗号分隔的字符串列表。返回值为待查找字符串......
  • SQL语句的基本使用5-多值子查询
    这个作业属于哪个课程https://edu.cnblogs.com/campus/uzz/cs3这个作业要求在哪里https://edu.cnblogs.com/campus/uzz/cs3/homework/13074这个作业的目标SQL语句的基本使用5-多值子查询1.在student_info表中查找与“刘东阳”性别相同的所有学生的姓名、出生日......
  • sql server 语句 的一些操作(千分位分隔、加百分号等)
    sqlserver语句的一些操作1、给filedName字段进行千分位分隔,保留两位小数如12345.4567会得到12,345.462、给字段filedName进行百分号显示3、根据字段的不同的值来输出不同的内容(判断)4、把时间格式按照2019-01-1214:23:18的格式显示请大家不断提意见,这里会把遇到的情况进行......