数据库常用函数汇总统计Word格式.docx
《数据库常用函数汇总统计Word格式.docx》由会员分享,可在线阅读,更多相关《数据库常用函数汇总统计Word格式.docx(7页珍藏版)》请在冰豆网上搜索。
selectcount(sno)
froms
wheredept='
计算机
'
5、求学校中共有多少个系;
selectcount(distinctdept)asDeptNum
6、统计有成绩同学的人数;
selectcount(score)
7、利用特殊函数
COUNT(*)求计算机系学生的总数;
selectcount(*)
8、利用特殊函数
COUNT(*)求女学生总数和平均年龄;
selectcount(*),avg(age)
wheresex='
女
9、利用特殊函数
COUNT(*)求计算机系女教师的总数。
fromt
andsex='
四、分组查询及排序
1、
查询各个教师的教师号及其任课门数;
selecttno,count(*)asc_num
fromtc
groupbytno
2、按系统计女教师的人数;
selectdept,count(tno)
groupbydept
查询选修两门以上课程的学生的学号和选课门数;
selectsno,count(*)assc_num
groupbysno
havingcount(*)>
2
4、查询平均成绩大于
70分的课程号和平均成绩;
selectcno,avg(score)
groupbycno
havingavg(score)>
70
5、查询选修
C1的学生学号和成绩,并按成绩降序排列;
selectsno,score
01'
orderbyscoredesc
6、查询选修
C2、C3、C4或C5课程的学号、课程号和成绩,查询结果按学号升序排列,学号相同再按成绩降序排列;
selectsno,cno,score
wherecnoin('
C2'
'
C3'
C4'
C5'
)
orderbysno,scoredesc
7、求有三门以上选课成绩及格的学生的学号及其总成绩,查询结果按总成绩降序列出。
selectsno,sum(score)asTotalScore
wherescore>
=60
=3
orderbysum(score)desc
[注意]:
函数
SUM和AVG只能对数值型字段进行计算;
2、COUNT函数对空值不计算,但对零值计算;
3、COUNT(*)用来统计元组的个数,不消除重复行,不允许使用DISTINCT关键字;
4、WHERE子句作用于基本表或视图,从中选择满足条件的元组,HAVING子句作用于组,选择满足条件的组,必须用于GROUPBY子句之后.
在
D
盘建立以自己的班级
_
姓名
学号为名称的文件夹,用来保存数据库以及相关的
SQL
语句。
先创建教学数据库
student
中包含六个基本表:
学生情况基本表
s(sno,sname,sex,age,dept)
教师情况基本表
t(tno,tname,sex,age,prof,sal,comm,dept)
课程基本表
c(cno,cname,ct)
选课基本表
sc(sno,cno,score)
授课基本表
tc(tno,cno)
系别基本表
d(dept,addr)
[步骤]:
用
SQL语句完成如下操作:
一、创建学生表
创建一个学生表
s1
,对
sno
字段进行
notnull
约束;
createtables1
(snochar(10)constraintsno_consnotnull,
snamevarchar(10),
sexchar
(2),
ageint,
deptvarchar(30))
s2
,定义
sname
为唯一键;
createtables2
(snochar(10),
snamechar(10)constraintsname_uniqunique,
s3
sname+sex
createtables3
snamechar(10),
deptvarchar(30),
constraints3_uniqunique(sname,sex))
s4
为主键;
createtables4
(snochar(10)constraintsno_primprimarykey,
5、
s5
age
的取值范围为
15~50
;
createtables5
ageintconstraintage_chkcheck(agebetween15and50),
6、
s6
,使
sex
列的缺省值为“男”;
createtables6
sexchar
(2)default‘
男
7、创建一个学生表
s7
为主键,
为唯一键,
,
列的缺省值为“男”,
dept
createtables7
deptvarchar(30)constraintdept_consnotnull)
8、创建一个学生表
s
为主键,对
约束。
createtables
snamechar(10)constraintsname_consnotnull,
二、创建教师表
创建一个教师表
t
tno
tname
Createtablet
(tnochar(8)constrainttno_primprimarykey,
tnamechar(10)notnull,
profchar(10),
salnumeric(6),
commnumeric(6),
三、创建课程表
创建一个课程表
c
cno
cname
Createtablec
(cnochar(8)constraintcno_primprimarykey,
cnamechar(20)notnull,
ctint)
四、创建选课表
创建一个选课表
sc
sno+cno
为主键,定义
为外部键。
Createtablesc
(snochar(10)notnullconstraints_foreforeignkey
referencess(sno),
cnochar(8)notnullconstraintc_foreforeignkey
referencesc(cno),
scorenumeric(3),
constraintsc_primprimarykey(sno,cno))
五、创建授课表
创建一个授课表
tc
tno+cno
为主键。
Createtabletc
(tnochar(8),
cnochar(8),
constrainttc_primprimarykey(tno,cno))
六、创建系别表
创建一个系别表
d
Createtabled
(deptvarchar(30)constraintdept_primprimarykey,
addrvarchar(40))