4汽车服务企业信息化管理基础4关系数据库语言SQL.ppt

上传人:b****1 文档编号:1359974 上传时间:2022-10-21 格式:PPT 页数:124 大小:1.44MB
下载 相关 举报
4汽车服务企业信息化管理基础4关系数据库语言SQL.ppt_第1页
第1页 / 共124页
4汽车服务企业信息化管理基础4关系数据库语言SQL.ppt_第2页
第2页 / 共124页
4汽车服务企业信息化管理基础4关系数据库语言SQL.ppt_第3页
第3页 / 共124页
4汽车服务企业信息化管理基础4关系数据库语言SQL.ppt_第4页
第4页 / 共124页
4汽车服务企业信息化管理基础4关系数据库语言SQL.ppt_第5页
第5页 / 共124页
点击查看更多>>
下载资源
资源描述

4汽车服务企业信息化管理基础4关系数据库语言SQL.ppt

《4汽车服务企业信息化管理基础4关系数据库语言SQL.ppt》由会员分享,可在线阅读,更多相关《4汽车服务企业信息化管理基础4关系数据库语言SQL.ppt(124页珍藏版)》请在冰豆网上搜索。

4汽车服务企业信息化管理基础4关系数据库语言SQL.ppt

2022/10/21,1,四关系数据库语言SQL,4.1查询语句4.2数据更新4.3数据定义,学习目标:

能够熟练掌握SQL语言并能够在实际工作中进行灵活的应用。

2022/10/21,2,SQL是结构化查询语言(StructuredQueryLanguage)的缩写,美国国家标准局ANSI在1986年将SQL作为关系数据库系统的标准语言,后被国际标准化组织(ISO)采纳为国际标准。

现在很多大型数据库都实现了SQL语言。

SQL概述,2022/10/21,3,SQL和SQLSERVER的区别,SQL(structuredquerylanguage)结构化查询语言。

它是一种标准,不是一种软件SQLSERVER是数据库管理系统的一种它是一种软件,这种软件在遵循SQL这种标准,很多数据库管理软件及开发工具都支持SQL这种标准。

2022/10/21,4,SQL语言的特点,SQL语言的特点,1.综合统一2.高度非过程化3.面向集合的操作方式4.以同一种语法结构提供两种使用方法5.语言简洁,易学易用,2022/10/21,5,2022/10/21,6,SQL语句的书写准则,对大小写不敏感一条语句可以写成一行或多行关键字不能在行与行之间分开数据项例如属性项、表、视图项等同时列出时,分隔符用逗号;字符或字符串常量要用单引号定界。

2022/10/21,7,基本操作对象,基本表:

本身独立存在的表,SQL中一个关系就对应一个表;一个表对应一个存储文件;一个表可以带若干索引。

视图:

从一个或几个基本表中导出的表,本身不独立存放在数据库中,数据库只存储视图的定义,视图相当于一个虚表,用户可以在视图上在定义视图。

索引:

为快速访问数据,而在包含数据的表中增加的一种组织,分为聚簇索引和非聚簇索引。

指索引项的顺序与表中记录的物理顺序一致的索引组织,例如:

人事档案(员工姓名、地址、电话号码、社会安全号、工资)其中只有姓名、地址、电话号码是公开信息。

可以生成不包含社会安全号和工资的视图,对表和视图设置不同的权限,2022/10/21,8,4.1查询语句,4.1.1基本查询4.1.2使用列表达式4.1.3WHERE从句的进一步使用4.1.4数据汇总4.1.5连接查询4.1.6嵌套查询4.1.7联合查询4.1.8使用系统内置函数的查询,2022/10/21,9,SQL的核心是数据查询。

对于数据库的查询操作是通过SELECT查询命令实现的,它的基本形式由SELECTFROMWHERE查询块组成,多个查询块可以嵌套执行。

2022/10/21,10,语句格式SELECTALL|DISTINCT,FROM,WHEREGROUPBYHAVINGORDERBYASC|DESC;,指定要显示的属性列,指定查询对象,指定查询条件,查询结果按指定列的值分组,筛选出只有满足指定条件的组,对查询结果表按指列值的升序或降序排序,2022/10/21,11,4.1.1基本查询,1、简单的无条件查询,例:

Select*fromstu_info,把stu_info表中的所有记录的所有属性查询出来,2022/10/21,12,SELECT*FROMSTU_INFOWHEREXSH=06,4.1.1基本查询,2、简单的条件查询例4.2:

从edu_d的数据库表stu_info中查找包含所有列的土建学院(学院代号xsh为06)的学生名单。

字符或字符串用单引号引起来,相当于选择运算,2022/10/21,13,例4.3:

从数据库EDU_INFO中查询土建学院(XSH=06)的学生的学号、姓名、性别、学院代号信息。

SELECTXH,XM,XBM,XSHFROMSTU_INFOWHEREXSH=06,3、查询语句中投影运算的实现,2022/10/21,14,4.1.2使用列表达式,查询指定的列,除了可以使用*或者属性列表以外,还可以使用列表达式。

SELECTXH,KCH,JSH,150成绩=KSCJ*1.50FROMXK,利用列表达式实现不同列的连接,例4.5SELECT学号,XH,XM+XSH,BHFROMSTU_INFOWHEREXBM=男ORDERBYXHDESC,在SQLServer2000系统的企业管理器中运行后系统自动将语句的写法改成了:

SELECT学号ASEXPR1,XH,XM+XSHASEXPR2,BHFROMSTU_INFOWHERE(XBM=男)ORDERBYXHDESC,2022/10/21,16,注意:

更改的是查询结果显示的列标题,这是列的别名,而不是更改了数据库表或视图的列标题。

2、修改查询结果的列标题,例如:

改写例4.5SELECTXHAS学号,XM+XSHAS姓名和学院代码,BHAS班级FROMSTU_INFOWHEREXBM=男ORDERBYXHDESC,2022/10/21,17,另一种形式:

SELECT学号=XH,姓名和学院代码=XM+XSH,班级=BHFROMSTU_INFOWHEREXBM=男ORDERBYXHDESC,注意:

当自定义的列标题中含有空格时,必须用引号将标题括起来。

2022/10/21,18,采用别名的目的:

数据库表中的列名用英文字母表示更方便,但是为了在查询时,让用户看到的结果更直观,所以可以采用中文别名。

2022/10/21,19,查询工作的关键就在通过分析怎样把实际问题中的自然语言描述转化为1)从哪个表中查询即:

from后的一项2)要查询哪些列即:

select后的一项3)要查询的条件即:

where后的一项,完成查询工作的三个关键步骤,第3步最复杂,4.1.3WHERE从句的进一步使用,WHERE从句中,可以使用一个或者多个逻辑表达式限制查询数据的范围。

表4-1常用查询条件一览表,2022/10/21,21,1、表达式比较,例如:

SELECT*FROMXKWHEREKSCJ60,SELECTXH学号,KCH课程号,KSCJ成绩FROMXKWHEREKSCJBETWEEN60AND70,2022/10/21,22,3、确定集合,例4.7:

查询应电0601、机专0601班的学生的信息,SELECT学号,姓名,班级FROMmingdanWHERE班级IN(应电0601,机专0601),当与指定的值表中的任何一个匹配时,返回TRUE,否则返回FALSE,2022/10/21,23,4、字符匹配,用NOTLIKE和LIKE与通配符%和_搭配,其运算对象可以是CHAR,VARCHAR,TEXT,NTEXT,DATETIME和SMALLDATETIME类型的数据。

表示任意长度的字符串,表示人一单个字符,例如:

1、SELECT*FROMmingdanWHERE班级LIKE应%2、SELECT*FROMmingdanWHERE姓名LIKE_红,2022/10/21,24,5、涉及空值的查询,例如:

SELECT*FROMmingdanWHERE班级ISNULL,6、多重条件查询,例如:

SELECT*FROMmingdanWHERE班级LIKE应%AND姓名LIKE%红,2022/10/21,25,一般格式:

SELECT列名1,列名2,FROM表名WHERE条件表达式ORDERBY列名1ASC|DESC,列名2ASC|DESC,升序(默认),降序,4.1.4、设定排序条件,2022/10/21,26,例4.4:

从数据库EDU_D的表STU_INFO中查询建9809班学生情况并按学号排序。

SELECT*FROMSTU_INFOWHEREBH=建9809ORDERBYXH,SELECT*FROMSTU_INFOWHEREBH=建9809ORDERBYZYH,XHDESC,按多列排序:

先按专业升序排列,然后同一专业的记录按学号进行降序排列,注意:

(1)ORDERBY子句不改变基本表中行或者列的顺序,只改变查询结果的排列顺序。

(2)ORDERBY子句制定排序的列必须出现在SELECT子句的列表达式中。

(3)排序是查询语句的最后一步工作,所以要把ORDERBY子句一般放在查询语句的最后。

2022/10/21,28,在要查询的属性名前加DISTINCT,以去掉结果中重复的值。

例:

SELECTDISTINCT班级FROMmingdan,注意:

在一个SELECT语句中,DISTINCT只能出现一次,并且DISTINCT必须写在所有列名之前。

5、限定重复记录,2022/10/21,29,4.1.4数据汇总,1、聚合函数,表4-2聚合函数一览表,表示去掉结果中的重复行,指定ALL选项或不指定则表示保留重复行,2022/10/21,30,例4.8:

查询学生总数SELECTCOUNT(*)AS学生数FROMmingdan或者SELECTCOUNT(XH)FROMmingdan,例4.9:

已知XK中高等数学的代号是090101,查询学生选修高等数学的平均成绩SELECTAVG(KSCJ)AS高等数学平均成绩FROMXKWHEREKCH=090101,因为XH是该表的主键,不允许有空值,查询每个班的学生人数?

2022/10/21,31,例4.10:

查询学生选修高等数学的最高分和最低分SELECTMAX(KSCJ)AS高等数学最高分,MIN(KSCJ)AS高等数学最低分FROMXKWHEREKCH=090101,注意:

在查询中,除COUNT(*)外,所有的聚合函数都不包括取值为空的行。

2022/10/21,32,2、GROUPBY子句,GROUPBY子句用于对表或视图中数据的查询结果按某一列或多列值分组,值相等的分为一组,2、GROUPBY子句,例4.11:

在表mingdan中查询各班的学生人数,SELECT班级,COUNT(XH)AS人数FROMmingdanGROUPBY班级,注意:

SELECT子句的列表中只能包含在GROUPBY中指出的列或在聚合函数中指定的列。

GROUPBY子句用于对表或视图中数据的查询结果按某一列或多列值分组,值相等的分为一组,2022/10/21,33,2、GROUPBY子句,举例:

从表stu中统计xsh=0015中男生和女生的人数,Selectcount(*)fromstuwherexsh=0015groupbyxb,还可以按多个字段分组,思考:

统计每个学院的男生和女生的人数?

2022/10/21,34,例4.12:

在表STU_INFO上产生一个结果集,包括每个专业的男生、女生人数。

SELECTZYH,XBM,COUNT(*)AS人数FROMSTU_INFOGROUPBYZYH,XBM,2022/10/21,35,3、HAVING短语,HAVING短语指定组或聚合的条件。

只有满足条件的组才被选出来,HAVING通常与GROUPBY子句一起使用。

(注意与WHERE子句区分),SELECTXH,COUNT(*);FROMXK;GROUPBYXH;HAVINGCOUNT(*)3,例4.15查询选修了3门以上课程的学生及选课数:

2022/10/21,36,例4.16:

只查询选修了3门以上课程的学号前四位是20011的学生学号及选课数:

SELECTXH,COUNT(*)FROMXKWHEREXHLIKE2001%GROUPBYXHHAVINGCOUNT(*)3,2022/10/21,37,Having短语指定选择组的条件,只有满足条件的组才被选出来。

Where子句从基本表中选择满足条件的元组,having选择满足条件的组,2022/10/21,38,若一个查询同时涉及两个或两个以上的表,则称为连接查询。

连接查询中用

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1