单关系表的数据查询
查询全体学生的学号、姓名和年龄
1、SELECT SNo,SN,Age
FROM S
2、SELECT SN Name,SNo,Age
FROM S
3、SELECT SN AS Name,Sno,Age
FROM S
查询学生的全部信息
SELECT *
FROM S
条件查询
查询选修课程号为c1的学生的学号和成绩
SELECR SNo,Score
FROM S
WHERE CNo='c1'//此处可以指任何列表名变量的筛选
多重查询
查询工资在(不在)1000到1500元之间的教师的教师号、姓名及职称
SELECT SNo,TN,Prof
FROM T
WHERE (NOT)Sal>=1000 AND Sal<=1500
查询选修C1或C2的学生的学号、课程号和成绩
SELECT SNo,CNo,Score
FROM SC
WHERE CNo IN ('C1','C2')
其中我们可以运用’<>'符号来表示二者都没有选
查询所有姓张的教师号和姓名
SELECT TNo,TN
FROM T
WHERE TN LIKE '张%'('_光')
查询没有考试成绩的学生的学号和相应的课程号
SELECT SNo,CNo
FROM S
WHERE Score IS NULL
求学号为’S1’的学生的总分和平均分
SELECT SUM(Score) AS TotalScore,AVG(Score) AS AvgScore
FROM SC
WHERE(SNo = 'S1')
求计算机系学生的总数
SELECT COUNT(SNo) FROM S
WHERE Dept='计算机'
求学校中一共有多少个系
SELECT COUNT(DISCOUNT Dept) As DeptNum//其中discount的作用是消除重复行
FROM S
此外我们在此基础上可以利用COUNT(*)函数来求计算机系的学生
SELECT COUNT(*)
FROM S
WHERE Dept='计算机'
分组查询
查询每个教师的教师号以及其任课门数
SELECT TNo,COUNT(*) AS C_Num
FROM TC
GROUP BY TNo
查询选修两门以上课程的学生的学号和选课门数
SELECT SNo,COUNT(*) AS SC_Num
FROM SC
GROUP BY SNo
HAVING(COUNT(*)>=2)
查询选修C2、C3、C4、C5课程的学号、课程号和成绩,查询结果按学号升序排序,若学号相同则再按成绩降序排列
SELECT SNo,CNo,Score
FROM SC
WHERE CNo IN ('C1','C2','C3','C3')
ORDER BY SNo,Score DESC
其中DESC为降序、ASC为升序,缺省时按升序默认