数据库应用基础学习教案.pptx

上传人:一*** 文档编号:82688983 上传时间:2023-03-26 格式:PPTX 页数:38 大小:997.78KB
返回 下载 相关 举报
数据库应用基础学习教案.pptx_第1页
第1页 / 共38页
数据库应用基础学习教案.pptx_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《数据库应用基础学习教案.pptx》由会员分享,可在线阅读,更多相关《数据库应用基础学习教案.pptx(38页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、会计学1数据库应用数据库应用(yngyng)基础基础第一页,共38页。一、概述一、概述(i sh)SELECTSELECT语句的语法形式语句的语法形式(xngsh)(xngsh)如下:如下:SELECT 字段名列表FROM IN 外部数据库 WHERE GROUP BY HAVING 子句 ORDER BY ASC|DESC INTO第1页/共38页第二页,共38页。从从FROMFROM子句指定的基本表或视图子句指定的基本表或视图(sht)(sht)中读取记录。如果有中读取记录。如果有WHEREWHERE子句,子句,根据根据WHEREWHERE子句的条件表达式,选择符合条件的记录。如果有子句的

2、条件表达式,选择符合条件的记录。如果有GROUP BY GROUP BY 子句,根据子句,根据GROUP BY GROUP BY 子句的条件表达式,对记录进行分组。如果有子句的条件表达式,对记录进行分组。如果有HAVING HAVING 子句,根据子句,根据HAVING HAVING 子句的条件表达式,选择满足条件的分组结子句的条件表达式,选择满足条件的分组结果。如果有果。如果有ORDER BY ORDER BY 子句,根据子句,根据ORDER BY ORDER BY 子句的条件表达式,将按指子句的条件表达式,将按指定的列的取值排序。最后根据定的列的取值排序。最后根据SELECT SELECT

3、 语句指定列,输出最终的结果。语句指定列,输出最终的结果。第2页/共38页第三页,共38页。常用语句的用法:SELECT子句用于指定所选择的要查询的特定表中的列,它可以是星号(*)、表达式、列表、变量等。FROM子句用于指定要查询的表或者(huzh)视图,最多可以指定16个表或者(huzh)视图,用逗号相互隔开。WHERE子句用来限定查询的范围和条件。GROUP BY子句是分组查询子句。HAVING子句用于指定分组子句的条件。INTO子句用于指定所要生成的新表的名称。第3页/共38页第四页,共38页。二、二、SELECT语句语句(yj)查询查询n n例:查看“医生基本情况表”中所有记录:n n

4、 SELECT*FROM 医生基本情况表n n查看“医生基本情况表”中“姓名”和“职务”,其代码(di m)如下:n n SELECT 姓名,职务 FROM 医生基本情况表第4页/共38页第五页,共38页。n n查看表中最前部的记录(jl)n nSELECT TOP 5*FROM 医生基本情况表第5页/共38页第六页,共38页。三、三、使用使用(shyng)FROM子句指定数据源(包含内、子句指定数据源(包含内、外连接)外连接)n n FROM语句用来(yn li)指定被查询基本表或视图,使用该语句可以查询单独表的数据也可以查询联合表的数据,具体格式如下:n nFROM n nINNER|LE

5、FT|RIGHT|FULL OUTERCROSSn nJOIN ON 第6页/共38页第七页,共38页。INNERINNER表示内连接,是系统表示内连接,是系统(xt(xt ng)ng)默认的连接方式。默认的连接方式。例例1 1:查询科室表和医生基本情况表两个表中各科室的科室:查询科室表和医生基本情况表两个表中各科室的科室名称,医生姓名和职务。名称,医生姓名和职务。SELECT SELECT 科室表科室表.科室名称科室名称,医生基本情况表医生基本情况表.姓名姓名,医生基本医生基本情况表情况表.职务职务FROM FROM 科室表科室表 INNER JOIN INNER JOIN 医生基本情况表医

6、生基本情况表ON ON 科室表科室表.科室代码科室代码=医生基本情况表医生基本情况表.科室代码科室代码1内连接(linji)方式第7页/共38页第八页,共38页。第8页/共38页第九页,共38页。2 2外连接外连接外连接外连接(linji)(linji)方式方式方式方式n nOUTEROUTER表示外连接。外连接又分为左外连接(表示外连接。外连接又分为左外连接(LEFTLEFT),右外连接右外连接(RIGHTRIGHT),完全外连接(完全外连接(FULLFULL).n n左外连接的结果集中除了包括左外连接的结果集中除了包括(boku)(boku)满足条件的行外,还包括满足条件的行外,还包括(b

7、oku)(boku)左表所有的行。左表所有的行。n n右外连接的结果集中除了包括右外连接的结果集中除了包括(boku)(boku)满足条件的行外,还包括满足条件的行外,还包括(boku)(boku)右表所有的行。右表所有的行。n n完全外连接的结果集中除了包括完全外连接的结果集中除了包括(boku)(boku)满足条件的行外,还包括满足条件的行外,还包括(boku)(boku)左右两表所有的行。左右两表所有的行。第9页/共38页第十页,共38页。n nLEFTLEFT外连接:改变例外连接:改变例1 1的连接属性为的连接属性为LEFTLEFT外连接外连接n n n n SELECT SELECT

8、 科室表科室表.科室名称科室名称,医生基本情况表医生基本情况表.姓名姓名,医生基本情况医生基本情况表表.职务职务n n FROM FROM 科室表科室表 LEFT OUTER JOIN LEFT OUTER JOIN 医生基本情况表医生基本情况表n n ON ON 科室表科室表.科室代码科室代码=医生基本情况表医生基本情况表.科室代码科室代码n n其中其中(qzhng)OUTER(qzhng)OUTER可以省略。可以省略。第10页/共38页第十一页,共38页。第11页/共38页第十二页,共38页。n nRIGHTRIGHT外连接外连接(linji)(linji):改变例:改变例1 1的连接的连

9、接(linji)(linji)属性为属性为RIGHTRIGHT外连接外连接(linji)(linji)n n SELECT SELECT 科室表科室表.科室名称科室名称,医生基本情况表医生基本情况表.姓名姓名,医生基本情况医生基本情况表表.职务职务n n FROM FROM 科室表科室表 RIGHT OUTER JOIN RIGHT OUTER JOIN 医生基本情况表医生基本情况表n n ON ON 科室表科室表.科室代码科室代码=医生基本情况表医生基本情况表.科室代码科室代码第12页/共38页第十三页,共38页。第13页/共38页第十四页,共38页。n nWHEREWHERE语句语句(y(

10、y j)j)是用来根据条件表达式来查询数据的语句是用来根据条件表达式来查询数据的语句(y(y j)j)。其基本格。其基本格式如下:式如下:n n WHERE AND|OR|NOT.WHERE AND|OR|NOT.n n Condition:=|!=|=|!=|=|!|NOTBETWEEN Condition:=|!=|=|!=|=|!,=-,=,!=,!,!51000800005 AND 51000800005 AND 最高学历最高学历(xul)=(xul)=研究生研究生 第16页/共38页第十七页,共38页。第17页/共38页第十八页,共38页。n n例:在例:在“医生数据库医生数据库”中

11、,查询中,查询19651965年和年和19751975年年之间出生并且在之间出生并且在“五官科五官科”工作的医生信息:工作的医生信息:n n n nSELECT SELECT 科室表科室表.科室名称科室名称(mngchng),(mngchng),医生基医生基本情况表本情况表.姓名姓名,医生基本情况表医生基本情况表.出生日期出生日期,医医生基本情况表生基本情况表.职务职务n nFROM FROM 医生基本情况表医生基本情况表 INNER JOIN INNER JOIN 科室表科室表n nON ON 医生基本情况表医生基本情况表.科室代码科室代码=科室表科室表.科室代科室代码码n nWHERE (

12、WHERE (医生基本情况表医生基本情况表.出生日期出生日期 BETWEEN CONVERT(DATETIME,1965-01-01)BETWEEN CONVERT(DATETIME,1965-01-01)AND CONVERT(DATETIME,1976-12-31)AND AND CONVERT(DATETIME,1976-12-31)AND(科室表科室表.科室名称科室名称(mngchng)=(mngchng)=五官科五官科)第18页/共38页第十九页,共38页。第19页/共38页第二十页,共38页。n n例:在医生基本情况表中,使用模糊查询,例:在医生基本情况表中,使用模糊查询,查找姓查

13、找姓“孙孙”的医生的信息的医生的信息(xnx)(xnx)。n nSELECT*FROM SELECT*FROM 医生基本情况表医生基本情况表 WHERE WHERE 姓名姓名 LIKE LIKE 孙孙%第20页/共38页第二十一页,共38页。第21页/共38页第二十二页,共38页。五、五、五、五、使用使用使用使用(sh(sh yng)ORDER BY yng)ORDER BY 子句的子句的子句的子句的连接连接连接连接n nORDER BY子句(z j)的作用是对SELECT语句返回的记录集进行排序,其语法代码如下:n n ORDER BY n n Order_by_expression -要排

14、序的列n n COLLATE collation_name -排序规则n n ASC|DESC -升序或降序n n ,.n n n第22页/共38页第二十三页,共38页。按一个按一个按一个按一个(y(y )字段排序字段排序字段排序字段排序例:查看医生基本情况表中的所有医生记录,并且按照医生工号排序:SELECT*FROM 医生数据库.dbo.医生基本情况表ORDER BY 医生工号本例中省略了ASC关键字,程序默认(mrn)为ASC。如果要按医生工号倒序排序的话,则用以下代码:SELECT*FROM 医生数据库.dbo.医生基本情况表ORDER BY 医生工号DESC第23页/共38页第二十四

15、页,共38页。第24页/共38页第二十五页,共38页。按多个按多个按多个按多个(du(du )字段排序字段排序字段排序字段排序例:查看(chkn)医生基本情况表中的所有医生记录,并且按照姓名和科室代码降序排序:SELECT*FROM 医生数据库.dbo.医生基本情况表ORDER BY 姓名 DESC,科室代码 DESC在本例中,先是按照姓名降序排序,如果在姓名相同的情况下,则再按照科室代码降序排序。第25页/共38页第二十六页,共38页。第26页/共38页第二十七页,共38页。六、六、六、六、使用使用使用使用(sh(sh yng)GROUP BYyng)GROUP BY子句分组统计子句分组统计

16、子句分组统计子句分组统计n nGroup by子句的作用是将依据设置的条件分成各个群组,同时在select子句中使用汇总函数进行数据汇总。n n基本(jbn)语法n n GROUP BY ALL group_by_expression ,.n n n WITH CUBE|ROLLUP n n第27页/共38页第二十八页,共38页。Group byGroup by的基本的基本的基本的基本(jbn)(jbn)用法用法用法用法n n例:统计医生(yshng)基本情况表中每个科室的总人数,其代码如下:n nSELECT 科室代码,count(医生(yshng)工号)as 总人数n nFROM 医生(y

17、shng)数据库.dbo.医生(yshng)基本情况表n nGROUP BY 科室代码第28页/共38页第二十九页,共38页。在在在在Group byGroup by中使用中使用中使用中使用(sh(sh yng)yng)表达式表达式表达式表达式 使用Group by子句可以对表中的记录按子句后的条件分组,加上With cube会对Group by所列出的所有分组字段进行汇总运算。使用GROUP BY子句应该(ynggi)注意如下几点(1)Group by子句里可以是字段名,也可以是包含字段值的表达式,但不能是汇总函数。第29页/共38页第三十页,共38页。(2 2)在)在SelectSelec

18、t子句里子句里,除了汇总函数之外除了汇总函数之外,其他其他(qt)(qt)所有出现的字段一定要所有出现的字段一定要是在是在Group byGroup by子句里曾经出现过的字段才行。子句里曾经出现过的字段才行。(3 3)在)在SelectSelect子句里不一定要出现汇总函数子句里不一定要出现汇总函数,但至少要用到但至少要用到Group by Group by 分组依分组依据里的一项。据里的一项。(4 4)text,ntext,image,xmltext,ntext,image,xml数据类型的字段不能作为数据类型的字段不能作为Group byGroup by的分组依据。的分组依据。第30页/

19、共38页第三十一页,共38页。n n例:按出生年份统计医生基本(jbn)情况表中的总人数:n nSELECT YEAR(出生日期)as 出生年份,count(医生工号)as 总人数n nFROM 医生数据库.dbo.医生基本(jbn)情况表n nGROUP BY YEAR(出生日期)n nORDER BY YEAR(出生日期)第31页/共38页第三十二页,共38页。第32页/共38页第三十三页,共38页。n n例:在Group by子句中使用WITH CUBE对所有字段进行汇总统计(tngj)医生基本情况表中每个科室的总人数,并进行汇总:n nSELECT 科室代码,count(医生工号)as

20、 总人数n nFROM 医生数据库.dbo.医生基本情况表n nGROUP BY 科室代码n nWITH CUBE第33页/共38页第三十四页,共38页。第34页/共38页第三十五页,共38页。n n例:按照出生年份统计例:按照出生年份统计(t(t ngj)ngj)医生基本情况表医生基本情况表中的每个科室的总人数,并进行汇总:中的每个科室的总人数,并进行汇总:n nSELECT SELECT 科室代码科室代码,YEAR(,YEAR(出生日期出生日期)as)as 出生年份出生年份,n ncount(count(医生工号医生工号)as)as 总人数总人数n nFROM FROM 医生数据库医生数据

21、库.dbo.dbo.医生基本情况表医生基本情况表 n nGROUP BY GROUP BY 科室代码科室代码,YEAR(,YEAR(出生日期出生日期)n nWITH CUBEWITH CUBE第35页/共38页第三十六页,共38页。n n修改上例,如何统计医生情况表中的每个科室的修改上例,如何统计医生情况表中的每个科室的男女男女(nnn(nnn)医生的人数医生的人数SELECT 科室(ksh)代码,性别,count(医生工号)as 总人数FROM 医生数据库.dbo.医生基本情况表GROUP BY 科室(ksh)代码,性别第36页/共38页第三十七页,共38页。第37页/共38页第三十八页,共38页。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理工具

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com