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

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

时间:2023-10-18 10:46:56浏览次数:37  
标签:语句 info 多值子 学号 student SQL 分数 where select

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

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

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

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

select student_info.学号,姓名,性别 
from student_info,grade
where student_info.学号=grade.学号 and 课程编号 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. delete语句用于删除表中的某一条或一行数据,可以保留该操作在事务日志中,并可以进行回滚操作
  2. drop语句用于删除整个表,包括表结构和数据,不会自动提交,也不能进行回滚操作
  3. truncate语句用于清空表中的数据,释放空间,但不会删除定义
    总的来说,delete和drop的区别在于删除的数据和定义是否被保留,而truncate则是清空整个表并释放空间

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


标签:语句,info,多值子,学号,student,SQL,分数,where,select
From: https://www.cnblogs.com/gonghongye/p/17767456.html

相关文章

  • 软件测试|深入理解SQL CROSS JOIN:交叉连接
    简介在SQL查询中,CROSSJOIN是一种用于从两个或多个表中获取所有可能组合的连接方式。它不依赖于任何关联条件,而是返回两个表中的每一行与另一个表中的每一行的所有组合。CROSSJOIN可以用于生成笛卡尔积,它在某些情况下非常有用,但在其他情况下可能会导致结果集过大。在本文中,我们......
  • mysql 日期格式为timestamp 和 datetime 使用month 函数取月份的区别
    1.DATE_FORMAT(data_dt,'%m')as`month`,使用这种方式无论什么类型的时间,取到的都是两位数。2.timstamp格式时间使用month()函数取出的月份只有一位。3.atetime格式时,month()函数获取到的就是两位数的月份。注意相关工具使用会不按预期执行,我的代码取到的月份为一位数,补没......
  • sqlplus本地登录报错,远程可以正常登录
    问题描述:  sqlplus本地登录报错,如下:   sqlplus/asssydba   ERROR:   ORA-12547:TNS:lostcontact原因分析:   首先确保数据库实例正常运行:   srvctlstatusdatabase-dDB_UNIQUE_NAME   ps-ef|greppmon    查看ORACLE_H......
  • IM即时通讯功能mysql数据库设计
    设计一个具备即时消息(IM)功能的数据库需要考虑许多因素,包括用户、消息、聊天室、消息状态等。以下是一个简单的MySQL数据库设计示例,用于支持基本的IM功能:用户表(User)用户ID(UserID)用户名(Username)密码(Password)电子邮件(Email)其他用户相关信息聊天室表(ChatRoo......
  • Mysql 事务
    1.事务的概念事务是访问并更新数据库中各种数据项的一个程序执行单元。在事务中的操作,要么都做修改,要么都不修改。2.事务和锁当执行事务操作时(dml语句),mysql会在表上加锁,防止其他用户修改数据。3.事务的特性:a.原子性:事务是一个原子操作,它要么全部成功,要么全部失败回滚。b.一致性:事......
  • java基础漏洞学习----SQL注入漏洞
    java基础漏洞学习----SQL注入漏洞前置基础知识https://www.cnblogs.com/thebeastofwar/p/17759805.html执行SQL语句的几种方式1.Statement执行SQL语句java.sql.Statement是JavaJDBC下执行SQL语句的一种原生方式,执行语句时需要通过拼接来执行若拼接的语句没有经过过滤,将出......
  • 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中,如何从SELECT更新?
    内容来自DOC[https://q.houxu6.top/?s=在SQLServer中,如何从SELECT更新?](https://q.houxu6.top/?s=在SQLServer中,如何从SELECT更新?)在SQLServer中,可以使用INSERT..SELECT语句向表中插入行:INSERTINTOTable(col1,col2,col3)SELECTcol1,col2,col3FROMother_......
  • 搭建MYSQL主从
    基于二进制日志文件位置的复制#根据前面的文档,搭建两台MySQL服务,具体步骤略192.129主192.127从#主:配置这一步是因为my.cnf在/etc/下的话,它不会识别,需要在mysqld.service启动脚本中定义路径,然后需要把/etc/my.cnf配置文件拷贝到定义的目录下vim/usr/lib/systemd/system/mysqld.s......
  • SQL Server2012 安装及问题处理
    安装方式:参考 SQLServe详细安装步骤_sqlserver安装教程_Dandi0707的博客-CSDN博客遇到的问题:等了半天一直卡在下图的界面 然后我决定手动开启NetFx3首先使用cmd命令输入control,回车然后点击程序 点击启动或关闭Windows功能 选中.NETFramework3.5再点击确定......