为了账号安全,请及时绑定邮箱和手机立即绑定

嵌套子查询

标签:
SQL Server

--当一个查询是另一个查询的条件时,
--嵌套查询下层的程序模块,称之为子查询

--项目一.
--开发学生选课表中状态为报名,的课程名称有哪些?
--需要查询( 课程表 )( 选课表 )表?
--子查询的对象( 选课表处于报名状态的 )
--使用的查询方法( 子查询 )

--第一步.查询课程表和学生选课表
select from Course
select
from StuCou
--第二步.使用纵向嵌套子查询查询结果
select '课程名称'=couname
from Course
where CouNo in (select CouNo
from stucou
where state='报名')
图片描述

--项目二.
--要求查询班级名称为2015(3+2)计算机班的,的课程名称为2008数据库应用的学生姓名、
--平时成绩,( 平均 )平时成绩,( 平均 )平时成绩和学生平时成绩的差值,以判断每班
--同学上半学期的成绩情况。
--需要查询(class)(couse)(student)(achievement)(stucou)表?
--要查询的列( 班级名称 )( 课程名称 )( 学生姓名 )( 期中成绩 )( 平均期中成绩 )( 平时成绩和平均平时成绩的差值 )
--子查询的对象( 平均平时成绩 )
--还使用的查询方法( 内链接查询、函数、嵌套子查询 )

--第一步.定义查询班级表、课程表、学生表、成绩表、选课表并进行关联.要查询的列是哪些
select class.classname,course.couname,student,stuname,achievement.qzcj
from class join student join stucou join achievement qzcj

--第二步.查询班级表的班级名称、课程表的课程名称、学生表的学生姓名、成绩表的期中成绩。
from class join Student
on class.ClassNo =Student.ClassNo
join StuCou
on Student .StuNo =stucou.StuNo join achievement
on stucou.CouNo =achievement .stano
join Course
on stucou.StuNo=course.CouNo
where class.ClassName ='2015计算机(3+2)'and
Course .CouName ='2008 sql server实用技术'
--第三步、查询成绩表的( 平均 )期中成绩
select AVG (qzcj)from achievement

--第四步、限定班级和课程条件使用子查询查询出结果
select class.ClassName ,Course .CouName ,Student,stuname.achievement.qzcj
(select AVG (pscj)from achievement )
achievement.pscj-(select AVG (pscj)from zchievement)
from zlass join student
on class.classno=student.classno
join stucou
on student.stuno=stucou.stuno
join achievement
join course
on stucou.stuno=course.couno
where class.clasname='15计算机(3+2)'and
course.couname='2008 sql server实用技术'

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消