MySQL实战,SQL语句
2024-09-03 12:02:26
student数据库
student学生表,course课程表表,sc成绩表
-- 1.找出成绩为95分的学生的姓名
SELECT 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'))
最新文章
- rsync permission denied created directories have no permissions
- LINUX内核笔记:自旋锁
- ubuntu中管理用户和用户组
- 在zendstudio中添加注释
- alter和alert的一些问题
- 表格细边框 并且CSS3加圆角
- 寻找素数对(hd1262)
- 软件測试系统文章(文件夹&;amp;链接在此)
- Beta No.2
- JS判断不同操作系统显示不同样式css
- 四, 判断语句; 循环; 使用dict和set
- C#zip压缩类
- HDU - 3974 Assign the task (线段树区间修改+构建模型)
- Android : Android Studio 更新至gradle 4.10.1后Variants API变化
- SPARK安装三:SPARK集群部署
- centos6.5修改主机名
- uvalive 4452 The Ministers’ Major Mess
- 从零自学Java-2.初步理解Java程序使如何工作的
- 《Flask Web开发实战:入门、进阶与原理解析(李辉著 )》PDF+源代码
- [转]ListView学习笔记(一)——缓存机制
热门文章
- 图文并茂演示小程序movable-view的可移动范围
- 基于二进制安装Cloudera Manager集群
- linux 安装Apache php mysql注意事项
- Docker容器保姆:在centos7.6上利用docker-compose统一管理容器和服务
- spring接口多实现类,该依赖注入哪一个?
- [RootersCTF2019]I_<;3_Flask-1|SSTI注入
- Dreamweaver8 网站制作软件使用教程
- java数组---初始化
- qt调用quit()后未结束线程解决方案
- 璞华PLM为全场景产品生命周期管理赋能,助力产品主线的企业数字化转型