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

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

时间:2023-10-19 18:22:36浏览次数:43  
标签:语句 分数 多值子 姓名 info student SQL where 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_info where 性别 = (select 性别 from student_info where 姓名 = "刘东阳");

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

select 学号,姓名,性别 from student_info where 学号 in (select 学号 from grade where 课程编号 = "0002" or 课程编号 = "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区别,并总结。

6.1Drop

drop:删除表,换言之就是把整个表删掉.再次新增数据是不可能的,只能再新建一个表。

6.2Truncate

truncate:清空表中数据,即删除内容但保留表的数据结构。
与drop不同的,可再次于表中添加数据而不用建立新的表。
另:truncatetruncate不能删除行数据,要删就只能将表清空。

6.3Delete

delete:删除表中的数据
delete 语句用于删除表中的行。
delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。

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

链接:https://www.123pan.com/s/M47hjv-vxnB.html

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

相关文章

  • 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():......
  • mysql-备份还原
    mysqldump备份与恢复#导出的备份文件就是数据库脚本文件mysqldump-uroot-p[密码]--databases库名1[库名2]…>/备份路径/备份文件名.sql例:mysqldump-uroot-p123456--databasesschool>/opt/school.sqlmysqldump-uroot-p123456--databasesmysqlschool>/op......