c# 十一章 上机 查询题 完整版

--每个年级男女性别总数
--select sex,COUNT (*) as 个数
--from Student 
--group by Sex

--每个年级总人数
--select GradeId,COUNT(*)as 人数
--from Student
--group by GradeId

--每个科目的平均分 由高到低排序
--select SubjectId,AVG(StudentResult)as 平均分
--from Result
--group by SubjectId
--order by AVG(StudentResult) desc

--超过15的总人数
--select GradeId,COUNT(*)as 总人数
--from Student 
--group by GradeId
--having COUNT (*)>15

--每个科目平均分>=60
--select SubjectId,AVG(StudentResult)as 平均分
--from Result
--group by SubjectId
--having AVG(StudentResult)>=60


--跨表查询
--select Result.StudentNo,StudentName,StudentResult
--from Result,Student
--where Result.StudentNo=Student.StudentNo and Result.StudentNo='S2102001'

--select Result.StudentNo,StudentName,StudentResult
--from Result inner join Student
--on Result.StudentNo=Student.StudentNo and Result.StudentNo='S2102001'


--上机练习 一

--查询每个年级的总学时 升序
--select GradeId,sum(ClassHour)as 学时
--from Subject
--group by GradeId
--order by sum(ClassHour)

--每门课程的平均分 降序
--select SubjectId,AVG(StudentResult)as 平均分
--from Result
--group by SubjectId
--order by AVG(StudentResult)desc

--查询每个考试学员的平均分
--select StudentNo,AVG(StudentResult)as 平均分
--from Result
--group by StudentNo

----查询每个学生考试的总分
--select StudentNo,sum(StudentResult)as 总分
--from Result
--group by StudentNo
--order by sum(StudentResult)desc


--上机练习二

--每学期 学时超过50  的课程数
--select GradeId ,sum(ClassHour)as 学时数,count(SubjectId)as 课程数
--from subject
--group by GradeId
--having sum(ClassHour)>50

--每学期学生平均年龄
--select GradeId ,
--AVG(DATEDIFF(dd,borndate,getdate()))/365 as 平均年龄
--from student 
--group by GradeId

--北京地区 每学期 学生人数
--select GradeId ,count(StudentNo)as 人数
--from student
--where Address like '%北京%'
--group by GradeId

--平均分及格 成绩降序
--select StudentNo ,avg(StudentResult)
--from Result
--group by StudentNo
--having avg(StudentResult)>60
--order by StudentNo desc

--2013-3-22的课程的及格平均分
--select StudentNo,avg(StudentResult)as 平均分
--from Result 
--where StudentResult>60 and ExamDate='2013-3-22'
--group by StudentNo

--至少一次不及格 的学号 次数
--select StudentNo,COUNT(*) as 次数
--from Result
--where StudentResult<60
--group by StudentNo
--having COUNT(*)>1

--上机三

--查询 姓名 年级 电话
--select StudentName, GradeName,Phone
--from Student,Grade
--where Student.GradeId=Grade.GradeId

--年级为一年级的 年级名称 科目 学时
--select Student.GradeId,SubjectName,ClassHour
--from Student,Subject
--where student.GradeId=Subject.GradeId and Student.GradeId=1

--参加科目编号为1, 考试的 姓名 分数 考试日期
--select StudentName,StudentResult,ExamDate
--from Student,Result
--where student.StudentNo=Result.StudentNo and SubjectId=1

--S1101007的 科目名称 分数 考试日期  
--select SubjectName,StudentResult,ExamDate
--from Subject,Result
--where subject.SubjectId=Result.SubjectId and StudentNo='S1101007'

--学号 科目名称 分数 考试日期
--select StudentNo ,SubjectName,StudentResult,ExamDate
--from Result,Subject
--where subject.SubjectId=Result.SubjectId 

--上机四

--学号 姓名 考试科目 成绩
--select Result.StudentNo ,Student.StudentName,subject.SubjectName,Result.StudentResult
--from Result 
--inner join Subject on Result.SubjectId=Subject.SubjectId
--inner join Student on Result.StudentNo=Student.StudentNo
 
--"走进java编程世界"  姓名 成绩 考试日期
--select StudentName,StudentResult,ExamDate
--from Student
--inner join Result on Student.StudentNo= Result.StudentNo 
--inner join Subject on Student.GradeId=Student.GradeId and SubjectName='面向对象程序设计'

--上级五 

--查询所有科目的考试信息 某些没有考过
--select Subject.SubjectName,Result.StudentNo,Result.StudentResult
--from Result
--right outer join Subject on(Result.SubjectId=Subject.SubjectId)

--未考试的科目信息
--select Subject.SubjectName,Result.StudentNo,Result.StudentResult
--from Result
----right outer join Subject on(Result.SubjectId=Subject.SubjectId)
--where StudentResult is null
--所有年级对应学生信息 还有没有就读的

--select Grade.GradeName,StudentNo,StudentName
--from Student
--right outer join Grade on(Grade.GradeId=Student.GradeId) 

你可能感兴趣的:(c# 十一章 上机 查询题 完整版)