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

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

时间:2023-10-19 16:44:25浏览次数:35  
标签:语句 分数 多值子 姓名 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 课程编号 in('0002','0005'));

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

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

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

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

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

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

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

(1)detele 可用于删除表的部分或所有数据。
DELETE FROM table_name WHERE condition

(2)Drop 用于删除整个数据库对象
DROP TABLE table_name;

(3)truncate 执行效果和 delete 类似,也是用来删除表中的所有行数据的,但是保留表的结构。
TRUNCATE TABLE table_name;

truncate 在使用上和 delete 最大的区别是,delete 可以使用条件表达式删除部分数据,而 truncate 不能加条件表达式,所以它只能删除所有的行数据。
Drop删除的是整张表,而truncate只删除表中的内容。

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

链接:https://pan.baidu.com/s/1AZlPcoQZxmTs8GUcnRMprg?pwd=loqk
提取码:loqk

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

相关文章

  • 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......
  • Sql CLR 异常总结
    1.执行中发生报错:“Twostringstobecomparedhavedifferentcollation”  ,在字符串(==)比较过程抛的异常后来发现是参数传入是SqlString类型,直接和字符串比较(==),但是 部署db的 编码格式(Collation):Chinese_PRC_CI_AS ,而  数据源的  Collation:SQL_L......