SELECT TOP 1000 [StudentNo]
,[LoginPwd]
,[StudentName]
,[Sex]
,[GradeId]
,[Phone]
,[Address]
,[BornDate]
,[Email]
FROM [MySchol].[dbo].[Student]
SELECT GradeId AS 年紀,COUNT(*) AS 人數
FROM dbo.Student
GROUP BY GradeId
SELECT Sex AS 性別,CounT(*)
FROM dbo.Student
GROUP BY Sex
--查詢每學期學生的平均年齡
SELECT AVG(DATEDIFF(dd,BornDate,GETDATE())/365) as 年齡
from dbo.Student
--查詢北京地區的每學期學生人數
SELECT COUNT(GradeId) as 個數,GradeId
FROM dbo.Student
WHERE Address LIKE '北京%'
GROUP BY GradeId
--查詢學生姓名 年級名稱 聯繫電話
SELECT StudentName,StudentNo,Phone
FROM dbo.Student
--查詢年級編號爲1的年級名稱 科目名稱及學時
SELECT s.StudentName,c.SubjectName,c.ClassHour
from dbo.Student AS s
INNER JOIN dbo.Subject AS c on(s.GradeId=c.GradeId AND s.GradeId=1)
/****** Script for SelectTopNRows command from SSMS ******/
SELECT TOP 1000 [Id]
,[StudentNo]
,[SubjectId]
,[StudentResult]
,[ExamDate]
FROM [MySchol].[dbo].[Result]
--查詢參加考試的學生中 平均分及格的學生記錄,併成績降序排列
SELECT avg(StudentResult)
FROM dbo.Result
GROUP BY StudentResult
HAVING avg(StudentResult)>60
ORDER BY StudentResult DESC
--查詢考試日期爲2013-2-22的課程及格平均分
SELECT avg(StudentResult) ,SubjectId
FROM dbo.Result
where ExamDate='2013-03-22'
GROUP BY SubjectId
HAVING AVG(StudentResult)>60
--查詢至少一次考試不及格的學生學號, 不及格次數
SELECT StudentNo, Count(*)as 次數
from dbo.Result
where StudentResult<60
group by StudentNo
--平均分
SELECT AVG(StudentResult)
FROM dbo.Result
--沒門課程的平均分
SELECT AVG(StudentResult)AS 平均分,SubjectId AS 課程
from dbo.Result
GROUP BY SubjectId
ORDER BY 平均分 desc
--查詢每個學生參加的所有的考試成績 降序
SELECT SUM(StudentResult) AS 所有考試的和,StudentNo
from dbo.Result
GROUP BY StudentNo
ORDER BY 所有考試的和 desc
--查詢參加科目編號爲1的考試的學生姓名 分數 考試日期
select s.StudentName,c.StudentResult,c.ExamDate
from dbo.Student AS s
INNER JOIN dbo.Result AS c on(s.StudentNo=c.StudentNo)
where s.GradeId=1
--查詢學號爲S1101007 的學生參加的考試科目名稱 分數 日期
SELECT C.GradeId,S.StudentResult,S.ExamDate,C.SubjectName
FROM dbo.Result as S
INNER JOIN dbo.Subject as C on(s.SubjectId=c.SubjectId)
WHERE [StudentNo]='S1101007'
--查詢參加考試的學生學號 所考科目名稱 分數 考試日期
SELECT S. [StudentNo],C.[SubjectName],[StudentResult],[ExamDate]
from [dbo].[Result] AS S,[dbo].[Subject] as C
where S.[SubjectId]=C.[SubjectId]
--查詢學生學號 姓名 考試科目名稱 成績
SELECT S. [StudentNo],A.[StudentName],C.[SubjectName],[StudentResult]
FROM [dbo].[Result]AS S,[dbo].[Subject] as C,[dbo].[Student] as A
where S.[SubjectId]=C.[SubjectId] AND A.studentNo=S.studentNo
--查詢所有科目的參考信息
SELECT J.[SubjectName] AS 科目名稱, R.[StudentResult] as 成績,R.[StudentNo] AS 學號
FROM Result AS R
RIGHT OUTER JOIN Subject AS J
ON J.SubjectId=R.SubjectId
--查詢沒有被考過的科目信息。
SELECT J.SubjectName AS 科目名稱
FROM Result AS R
RIGHT OUTER JOIN Subject AS J
ON J.SubjectId=R.SubjectId
WHERE R.StudentResult IS NULL AND R.StudentNo IS NULL
/****** Script for SelectTopNRows command from SSMS ******/
SELECT TOP 1000 [SubjectId]
,[SubjectName]
,[ClassHour]
,[GradeId]
FROM [MySchol].[dbo].[Subject]
--每個年紀的總學時
SELECT SUM(ClassHour)as 總學時,GradeId
FROM [MySchool].[dbo].[Subject]
GROUP BY GradeId
ORDER BY 總學時
--查詢每學期學時超過50的課程數
SELECT COUNT(ClassHour) as 課程數,GradeId AS 學期
FROM dbo.Subject
WHERE ClassHour>50
GROUP BY GradeId