MySQL实战,SQL语句

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: MySQL实战,SQL语句

student数据库

student学生表,course课程表表,sc成绩表

 

-- 1.找出成绩为95分的学生的姓名

ELECT Sname
FROM student
WHERE Sno IN(
SELECT DISTINCT Sno
FROM sc
WHERE Grade=95)

-- 2.查询大数据专业不及格学生名单

SELECT *
FROM student
WHERE Sno IN(
SELECT DISTINCT Sno
FROM sc
WHERE Sdept='大数据' AND Grade<=60)

-- 3.查询全部学生的学生名和所学课程号及成绩

SELECT Sname,Cno,Grade
FROM student,sc
WHERE student.Sno=sc.Sno

-- 4.找出籍贯(bplace)为山西或河北,成绩为80分以上的学生的姓名、籍贯和成绩

SELECT Sname,bplace,Grade
FROM student
WHERE Sno IN(
SELECT DISTINCT Sno
FROM sc
WHERE Grade>80
)
AND bplace='山西'OR bplace='河北'

-- 5.查出课程成绩在85分以上的女学生的姓名、课程名和成绩

SELECT Sname,Cname,Grade
FROM student
WHERE Sno IN(
SELECT Sno
FROM sc
WHERE Grade>85 AND Cno IN(
SELECT Cno
FROM course)
AND Ssex='女'

-- 6.查询没有选任何课程的学生的学号和姓名

SELECT Sno,Sname
FROM student
WHERE NOT EXISTS
(
SELECT *
FROM sc
WHERE student.`Sno`=sc.`Sno`
)

-- 7.查询哪些课程只有男生选读

SELECT DISTINCT
FROM course
WHERE '男'=ALL(
SELECT Ssex
FROM student,sc
WHERE student.`Sno`=sc.`Sno` AND course.`Cno`=sc.`Cno`)

-- 8.将电子商务专业的学生成绩加3分

UPDATE sc SET Grade=Grade+3
WHERE Sno IN(
SELECT Sno
FROM student
WHERE Sdept='电子商务' 
)

-- 9.找出选修了全部课程的学生的姓名

SELECT Sname
FROM student
WHERE NOT EXISTS(
SELECT*
FROM course
WHERE NOT EXISTS(
SELECT *
FROM sc
WHERE student.`Sno`=sc.`Sno` AND course.`Cno`=sc.`Cno`
))

-- 10.查询选修C语言课程学生的学号、姓名和所在系

SELECT student.Sno,Sname,Sdept
FROM student,sc,course 
WHERE student.Sno=sc.Sno
AND course.Cno=sc.Cno
AND Cname='C语言'

-- 11.删除李丽学生的选课信息

DELETE FROM sc
WHERE Sname='李丽'

-- 12.统计有多少名20岁以下的男同学

SELECT COUNT(Sno)
FROM student
WHERE Ssex='男' AND Sage>20

-- 13.向course表中填加一门课程

INSERT INTO course
VALUES('A07','C语言','4','2')

-- 14.列出年龄最大的学生名单

SELECT *
FROM student
WHERE Sage=(SELECT MAX(Sage)FROM student)

-- 15.列出所有年龄超过平均值的学生名单,按年龄的降序显示

SELECT *
FROM student
WHERE Sage>(SELECT AVG(Sage)FROM student)
ORDER BY Sage DESC

-- 16.检索至少选修课程号为A01和A02的学生学号

SELECT student.Sno
FROM sc
INNER JOIN student  -- 内连接
ON student.Sno=sc.Sno AND (Cno='A01' AND Cno='A02')

-- 17.找出每门课程的平均成绩,且只选择学生超过2人的课程的平均成绩

SELECT student.Sno,AVG(Grade)
FROM student,sc
WHERE student.`Sno`=sc.`Sno`
HAVING COUNT(*)>2

-- 18.列出其他专业中比网络技术某个学生年龄小的学生

SELECT *
FROM student
WHERE Sdept='网络技术'
AND Sage <(SELECT MAX(Sage)FROM student WHERE Sdept='网络技术')

-- 19.查询所有大于学号为‘200201002’的学生的成绩的学生学号、姓名、课程名和成绩

SELECT student.Sno,Sname,Cname,Grade
FROM student
WHERE Sno IN(
SELECT Sno
FROM sc
WHERE Cno IN(
SELECT Cno
FROM course)
AND Sno>'200201002'))


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
SQL 关系型数据库 MySQL
mysql 简单的sql语句,入门级增删改查
介绍MySQL中的基本SQL语句,包括数据的增删改查操作,使用示例和简单的数据表进行演示。
mysql 简单的sql语句,入门级增删改查
|
21天前
|
存储 SQL 关系型数据库
【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)
MySQL调优主要分为三个步骤:监控报警、排查慢SQL、MySQL调优。 排查慢SQL:开启慢查询日志 、找出最慢的几条SQL、分析查询计划 。 MySQL调优: 基础优化:缓存优化、硬件优化、参数优化、定期清理垃圾、使用合适的存储引擎、读写分离、分库分表; 表设计优化:数据类型优化、冷热数据分表等。 索引优化:考虑索引失效的11个场景、遵循索引设计原则、连接查询优化、排序优化、深分页查询优化、覆盖索引、索引下推、用普通索引等。 SQL优化。
168 15
【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)
|
21天前
|
存储 关系型数据库 MySQL
MySQL高级篇——覆盖索引、前缀索引、索引下推、SQL优化、主键设计
覆盖索引、前缀索引、索引下推、SQL优化、EXISTS 和 IN 的区分、建议COUNT(*)或COUNT(1)、建议SELECT(字段)而不是SELECT(*)、LIMIT 1 对优化的影响、多使用COMMIT、主键设计、自增主键的缺点、淘宝订单号的主键设计、MySQL 8.0改造UUID为有序
MySQL高级篇——覆盖索引、前缀索引、索引下推、SQL优化、主键设计
|
13天前
|
SQL 缓存 关系型数据库
揭秘MySQL一条SQL语句的执行流程
以上步骤共同构成了MySQL处理SQL语句的完整流程,理解这一流程有助于更有效地使用MySQL数据库,优化查询性能,及时解决可能出现的性能瓶颈问题。
35 7
|
19天前
|
SQL 监控 关系型数据库
MySQL数据库中如何检查一条SQL语句是否被回滚
检查MySQL中的SQL语句是否被回滚需要综合使用日志分析、事务状态监控和事务控制语句。理解和应用这些工具和命令,可以有效地管理和验证数据库事务的执行情况,确保数据的一致性和系统的稳定性。此外,熟悉事务的ACID属性和正确设置事务隔离级别对于预防数据问题和解决事务冲突同样重要。
30 2
|
5天前
|
SQL 存储 缓存
MySQL 是怎么执行 SQL 语句的?
MySQL 是怎么执行 SQL 语句的?
10 0
|
8天前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
18天前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
20天前
|
存储 SQL 关系型数据库
使用MySQL Workbench进行数据库备份
【9月更文挑战第13天】以下是使用MySQL Workbench进行数据库备份的步骤:启动软件后,通过“Database”菜单中的“管理连接”选项配置并选择要备份的数据库。随后,选择“数据导出”,确认导出的数据库及格式(推荐SQL格式),设置存储路径,点击“开始导出”。完成后,可在指定路径找到备份文件,建议定期备份并存储于安全位置。
160 11
|
15天前
|
存储 SQL 关系型数据库
MySQL的安装&数据库的简单操作
本文介绍了数据库的基本概念及MySQL的安装配置。首先解释了数据库、数据库管理系统和SQL的概念,接着详细描述了MySQL的安装步骤及其全局配置文件my.ini的调整方法。文章还介绍了如何启动MySQL服务,包括配置环境变量和使用命令行的方法。最后,详细说明了数据库的各种操作,如创建、选择和删除数据库的SQL语句,并提供了实际操作示例。
58 13
MySQL的安装&数据库的简单操作
下一篇
无影云桌面