MySQL实战,SQL语句

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 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
相关文章
|
21天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
98 1
|
26天前
|
NoSQL 关系型数据库 MySQL
MySQL与Redis协同作战:优化百万数据查询的实战经验
【10月更文挑战第13天】 在处理大规模数据集时,传统的关系型数据库如MySQL可能会遇到性能瓶颈。为了提升数据处理的效率,我们可以结合使用MySQL和Redis,利用两者的优势来优化数据查询。本文将分享一次实战经验,探讨如何通过MySQL与Redis的协同工作来优化百万级数据统计。
56 5
|
5天前
|
SQL 缓存 监控
SQL性能提升指南:五大优化策略与十个实战案例
在数据库性能优化的世界里,SQL优化是提升查询效率的关键。一个高效的SQL查询可以显著减少数据库的负载,提高应用响应速度,甚至影响整个系统的稳定性和扩展性。本文将介绍SQL优化的五大步骤,并结合十个实战案例,为你提供一份详尽的性能提升指南。
11 0
|
1月前
|
SQL 运维 关系型数据库
MySQL 运维 SQL 备忘
MySQL 运维 SQL 备忘录
47 1
|
21天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第26天】数据库作为现代应用系统的核心组件,其性能优化至关重要。本文主要探讨MySQL的索引策略与查询性能调优。通过合理创建索引(如B-Tree、复合索引)和优化查询语句(如使用EXPLAIN、优化分页查询),可以显著提升数据库的响应速度和稳定性。实践中还需定期审查慢查询日志,持续优化性能。
49 0
|
23天前
|
SQL 关系型数据库 MySQL
MySql5.6版本开启慢SQL功能-本次采用永久生效方式
MySql5.6版本开启慢SQL功能-本次采用永久生效方式
34 0
|
23天前
|
SQL 关系型数据库 MySQL
mysql编写sql脚本:要求表没有主键,但是想查询没有相同值的时候才进行插入
mysql编写sql脚本:要求表没有主键,但是想查询没有相同值的时候才进行插入
31 0
|
2月前
|
关系型数据库 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)")
|
4月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
115 13
|
4月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。