《SQL 标准培训教程.ppt》由会员分享,可在线阅读,更多相关《SQL 标准培训教程.ppt(75页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、功能强大的功能强大的SQLSQL语句语句利用利用SQLSQL语句语句,可以查询、插入、更新、可以查询、插入、更新、删除数据库中的数据。删除数据库中的数据。内蒙古利丰汽车 孙建新2021/9/2613.1 select 3.1 select 语句解析与简单语句解析与简单SQLSQL语句语句 (P63)(P63)n从某种意义上说,从某种意义上说,selectselect语句是数据库结构化语句是数据库结构化查询语言查询语言SQLSQL的真正核心。的真正核心。n使用使用selectselect语句可以以多种不同的方式查找数语句可以以多种不同的方式查找数据库中的数据,并且可以显示通过现有数据推据库中的数
2、据,并且可以显示通过现有数据推导、计算出的数据信息。导、计算出的数据信息。内蒙古利丰汽车 孙建新2021/9/2623.1.1 select 3.1.1 select 语句解析语句解析 (P64)(P64)n在数据库引擎查询文档中输入在数据库引擎查询文档中输入6464页的代码页的代码 use use 企业销售管理系统企业销售管理系统 select select 仓库号仓库号,城市城市,面积面积,创建时间创建时间from from 仓仓库库where where 面积面积800800n执行该执行该SQLSQL语句,就可以从数据库表语句,就可以从数据库表“仓库仓库”中挑选出面积大于中挑选出面积大于
3、800800的仓库号、城市、面积、的仓库号、城市、面积、创建时间信息。创建时间信息。内蒙古利丰汽车 孙建新2021/9/263SelectSelect语言句的基本格式语言句的基本格式nSelectSelect语言句的基本格式是:语言句的基本格式是:select all distinct select_listselect all distinct select_list from table_list/view_list from table_list/view_list where conditions where conditions group by group_list group b
4、y group_list having conditions having conditions order by order_list order by order_list2021/9/2643.1.2 3.1.2 选择所有的列选择所有的列 (P65)(P65)nSelect Select 语句的第一个子句,即语句的第一个子句,即selectselect关键字关键字开头的子句,用于选择进行显示的列,并且可开头的子句,用于选择进行显示的列,并且可以指定是否显示重复的记录。以指定是否显示重复的记录。n在数据库引擎输入如下代码:在数据库引擎输入如下代码:use use 企业销售管理系统企业销售管
5、理系统 select select 职工职工ID,ID,职工号职工号,仓库号仓库号,姓名姓名,性别性别,工工资资 from from 职工职工内蒙古利丰汽车 孙建新2021/9/2653.1.3 3.1.3 投影查询投影查询 (P66)(P66)n有时并不需要将所有的列都显示出来,投影查有时并不需要将所有的列都显示出来,投影查询就是允许用户显示所需要的列。如:询就是允许用户显示所需要的列。如:use use 企业销售管理系统企业销售管理系统 select select 职工号职工号,姓名姓名,工资工资 from from 职工职工内蒙古利丰汽车 孙建新2021/9/2663.1.4 3.1.4
6、 条件查询条件查询 (P66)(P66)nWhereWhere子句是在使用子句是在使用selectselect语句进行查询时最语句进行查询时最重要的子句,在重要的子句,在wherewhere子句中指出了检索的条子句中指出了检索的条件,系统进行检索时将按照这些指定的条件对件,系统进行检索时将按照这些指定的条件对记录进行检索,找出符合条件的记录。记录进行检索,找出符合条件的记录。n在在SQLSQL中提供了各种运算符和关键字来实现搜中提供了各种运算符和关键字来实现搜索条件索条件,其中运算符分为比较运算符与逻辑运其中运算符分为比较运算符与逻辑运算符算符,关键字有关键字有inin、likelike、be
7、tweenbetweenandand、is is nullnull、is not nullis not null等。等。内蒙古利丰汽车 孙建新2021/9/2673.1.4.1 3.1.4.1 比较运算符比较运算符 (P67P67)n比较运算符在比较运算符在wherewhere字句中使用非常普遍,字句中使用非常普遍,几乎所有的条件查询都要用到比较运算几乎所有的条件查询都要用到比较运算符。如符。如6767页表页表3-13-1所列出的比较运算符。所列出的比较运算符。内蒙古利丰汽车 孙建新2021/9/268数字的比较数字的比较n显示订单金额大于显示订单金额大于1000010000元的订单信息,执行
8、下面元的订单信息,执行下面的代码:的代码:use use 企业销售管理系统企业销售管理系统 select*from select*from 订购单订购单 where where 金额金额10000100002021/9/269字符串比较字符串比较n纯英文字符串的比较按照字典顺序进行,先比纯英文字符串的比较按照字典顺序进行,先比较第一个字母在字典顺序中的位置,位置在前较第一个字母在字典顺序中的位置,位置在前的字符小于位置在后面的字符,若第一个字符的字符小于位置在后面的字符,若第一个字符相同则继续比较第二个字符,直到得出比较结相同则继续比较第二个字符,直到得出比较结果。果。n执行下面的代码:执行下
9、面的代码:use use 企业销售管理系统企业销售管理系统select*from select*from 订购单订购单where where 订购单号订购单号or3or32021/9/2610日期时间的比较日期时间的比较n比较方法按照年、月、日、小时、分钟、秒进比较方法按照年、月、日、小时、分钟、秒进行比较。行比较。n执行下面的代码:执行下面的代码:use use 企业销售管理系统企业销售管理系统select*from select*from 订购单订购单where where 订购日期订购日期2004-2004-09-0109-012021/9/26113.1.4.2 3.1.4.2 逻辑运
10、算符(逻辑运算符(P69P69)nSQLSQL中的逻辑运算符共有中的逻辑运算符共有3 3种:种:andand(与)(与)oror(或)(或)notnot(非)(非)内蒙古利丰汽车 孙建新2021/9/2612andand(与)(与)nandand运算符可以连接两个或两个以上的条件,只有运算符可以连接两个或两个以上的条件,只有当当andand连接的条件都为真时,连接的条件都为真时,andand的结果才为真。的结果才为真。n执行代码如下:执行代码如下:use use 企业销售管理系统企业销售管理系统 select*from select*from 职工职工where where 工资工资1510
11、and 1510 and 仓库仓库号号!=wh2!=wh22021/9/2613oror(或)(或)n当当oror连接的条件中有一个为真,连接的条件中有一个为真,oror的结果就为真。的结果就为真。n执行代码如下:执行代码如下:use use 企业销售管理系统企业销售管理系统 select*from select*from 职工职工where where 工资工资2000 or 2000 or 仓库号仓库号=wh1=wh12021/9/2614notnot(非)(非)n表示将原条件取反,如果原条件为真,则加上表示将原条件取反,如果原条件为真,则加上notnot后就是假。后就是假。n执行代码如下
12、:执行代码如下:use use 企业销售管理系统企业销售管理系统 select*from select*from 职工职工where not where not 工资工资150015002021/9/26153.1.4.3 3.1.4.3 运算符的优先级运算符的优先级(P70P70)n SQL SQL语句各运算符的优先级如语句各运算符的优先级如7171页图页图31-231-2所示所示n执行代码如下:执行代码如下:use use 企业销售管理系统企业销售管理系统 select*from select*from 职工职工where(where(仓库号仓库号=wh1=wh1 or or 仓库号仓库号
13、=wh2)and not=wh2)and not 性别性别=女女 and and 工资工资1300 and 1300 and 工资工资2100=1300 and=1300 and 工工资资=1900=2004-09-02=2004-09-02select select 仓库号仓库号,城市城市 from from 仓库仓库 where where 城市城市 is is not null and not null and 面积面积!=900!=900内蒙古利丰汽车 孙建新2021/9/26223.2 3.2 嵌套查询(嵌套查询(P77P77)n嵌套查询就是在一个嵌套查询就是在一个select se
14、lect 查询语句中嵌套查询语句中嵌套了另一个了另一个selectselect子查询语句子查询语句,即一个即一个selectselect查查询结果作为另一个查询的一部分。询结果作为另一个查询的一部分。内蒙古利丰汽车 孙建新2021/9/26233.2.1 3.2.1 单表嵌套查询单表嵌套查询 (P77P77)n单表嵌套查询就是在一个单表嵌套查询就是在一个select select 查询语句中嵌套查询语句中嵌套了另一个了另一个select select 子查询语句子查询语句n首先利用首先利用selectselect语句求出语句求出wh1wh1仓库的面积,然后再仓库的面积,然后再显示面积大于该值的
15、仓库信息。显示面积大于该值的仓库信息。use use 企业销售管理系统企业销售管理系统select*from select*from 仓库仓库where where 面积面积(select(select 面积面积from from 仓库仓库where where 仓库号仓库号=wh1)=wh1)n嵌套查询中也可以带有逻辑运算符、谓词嵌套查询中也可以带有逻辑运算符、谓词inin、likelike、betweenbetweenandand等。等。内蒙古利丰汽车 孙建新2021/9/26243.2.2 3.2.2 多表嵌套查询(多表嵌套查询(P78P78)n多表查询语句就是外层多表查询语句就是外层s
16、elect select 语句与内层语句与内层selectselect语句来源于不同的表语句来源于不同的表use use 企业销售管理系统企业销售管理系统select*from select*from 职工职工where where 仓库号仓库号in(select in(select 仓仓库号库号from from 仓库仓库where where 城市城市=北京北京)select*from select*from 订购单订购单where where 职工号职工号in(select in(select 职工号职工号from from 职工职工where where 仓库号仓库号in(select
17、 in(select 仓仓库号库号from from 仓库仓库where where 城市城市=北京北京)内蒙古利丰汽车 孙建新2021/9/26253.2.3 3.2.3 实例剖析实例剖析-企业销售管企业销售管理系统理系统.实例实例4 4(P79P79)n没有职工的仓库信息没有职工的仓库信息,就是该仓库中没有职工就是该仓库中没有职工,哪个仓库号没有在职工表中出现。哪个仓库号没有在职工表中出现。use use 企业销售管理系统企业销售管理系统select*from select*from 仓库仓库where where 仓库号仓库号not not in(select in(select 仓库号
18、仓库号from from 职工职工)内蒙古利丰汽车 孙建新2021/9/2626实例剖析实例剖析-企业销售管理系统企业销售管理系统.实例实例5(P80)5(P80)显示供应商名中含有显示供应商名中含有“青岛青岛”两个字的供应商的两个字的供应商的订购单信息,并且不显示订购单信息,并且不显示zg15zg15和和zg9zg9职工的订职工的订单信息。单信息。use use 企业销售管理系统企业销售管理系统select*from select*from 订购单订购单where where 供应商号供应商号in(select in(select 供应商号供应商号from from 供应商供应商where
19、where 供应供应商名商名like%like%青岛青岛%)and%)and 职工号职工号not not in(zg15,zg9)in(zg15,zg9)2021/9/2627实例剖析实例剖析-企业销售管理系统企业销售管理系统.实例实例6(P80)6(P80)n显示至少经手一次订单的职工信息显示至少经手一次订单的职工信息use use 企业销售管理系统企业销售管理系统select*from select*from 职工职工where where 职工号职工号in(select in(select 职职工号工号from from 订购单订购单)2021/9/2628实例剖析实例剖析-企业销售管理
20、系统企业销售管理系统.实例实例7(P80)7(P80)n显示城市不为空,工资在显示城市不为空,工资在12001200到到21002100之间,销之间,销售金额不在售金额不在80008000到到12001200之间的职工信息之间的职工信息use use 企业销售管理系统企业销售管理系统select*from select*from 职工职工where where 仓库号仓库号in(select in(select 仓仓库号库号from from 仓库仓库where where 城市城市is not null)is not null)and and 工资工资between 1300 and 210
21、0 and between 1300 and 2100 and 职工号职工号in(select in(select 职工号职工号from from 订购单订购单where where 金额金额not not between 8000 and 12000)between 8000 and 12000)2021/9/2629实例剖析实例剖析-企业销售管理系统企业销售管理系统.实例实例8(P81)8(P81)n显示工资在职工显示工资在职工zg1zg1到到zg15zg15工资之间的,职工工资之间的,职工所在城市为所在城市为“北京北京”的职工信息的职工信息use use 企业销售管理系统企业销售管理系统
22、select*from select*from 职工职工where where 工资工资between between(select(select 工资工资from from 职工职工where where 职工号职工号=zg1)and(select=zg1)and(select 工资工资from from 职工职工where where 职职工号工号=zg15)and=zg15)and 仓库号仓库号in(select in(select 仓库号仓库号from from 仓库仓库where where 城市城市=北京北京)2021/9/26303.3 3.3 排顺查询(排顺查询(P81P81)
23、n查询显示结果一般按照数据被添加到表时的顺查询显示结果一般按照数据被添加到表时的顺序显示,可是在实际运用中往往要求按指定的序显示,可是在实际运用中往往要求按指定的字段进行排序显示。字段进行排序显示。内蒙古利丰汽车 孙建新2021/9/26313.3.1 3.3.1 单级排序(单级排序(P82P82)n排序的关键字是排序的关键字是order by order by,默认升序,升序,默认升序,升序关键字关键字asc asc,降序排列关键字,降序排列关键字descdesc。use use 企业销售管理系统企业销售管理系统select*from select*from 职工职工 order by or
24、der by 工资工资 descdesc内蒙古利丰汽车 孙建新2021/9/26323.3.2 3.3.2 多级排序(多级排序(P82P82)n先按工资降序,再按职工先按工资降序,再按职工IDID升序:升序:use use 企业销售管理系统企业销售管理系统select*from select*from 职工职工 order by order by 工资工资 desc,desc,职工职工ID ascID asc内蒙古利丰汽车 孙建新2021/9/26333.4 3.4 统计函数与别名查询(统计函数与别名查询(P83P83)n实际应用中经常需要得到某项值的总和、平均实际应用中经常需要得到某项值的总
25、和、平均值、最大值等,常用的函数有值、最大值等,常用的函数有5 5个个:ncount()count()统计个数统计个数nsum()sum()计算总和计算总和navg()avg()计算平均值计算平均值nmax()max()确定最大值确定最大值nmin()min()确定最小值确定最小值内蒙古利丰汽车 孙建新2021/9/26343.4.1 3.4.1 与列名一起使用的统计函与列名一起使用的统计函数(数(P84P84)use use 企业销售管理系统企业销售管理系统select max(select max(工资工资),min(),min(工资工资),sum(),sum(工资工资),avg(),av
26、g(工资工资),count(*)from),count(*)from 职工职工n以上查询结果中统计值没有列名,用下面的代码可以上查询结果中统计值没有列名,用下面的代码可显示列名:显示列名:select max(select max(工资工资)as)as 最大工资最大工资,min(,min(工资工资)as)as 最小最小工资工资,sum(,sum(工资工资)as)as 工资总和工资总和,avg(,avg(工资工资)as)as 平均工平均工资资,count(*)as,count(*)as 职工人数职工人数from from 职工职工内蒙古利丰汽车 孙建新2021/9/26353.4.2 3.4.2
27、 带有统计函数的嵌套查询带有统计函数的嵌套查询(P85P85)nuse use 企业销售管理系统企业销售管理系统nselect*from select*from 职工职工where where 工资工资(select(select avg(avg(工资工资)from)from 职工职工)nselect*from select*from 职工职工where where 工资工资(select(select avg(avg(工资工资)from)from 职工职工where where 仓库号仓库号=wh1 or=wh1 or 仓库号仓库号=wh2)and=wh2)and 姓名姓名not like%
28、not like%亮亮%内蒙古利丰汽车 孙建新2021/9/26363.4.3 3.4.3 统计函数字段中添加运算统计函数字段中添加运算字段(字段(P86P86)nuse use 企业销售管理系统企业销售管理系统select*,(select avg(select*,(select avg(工资工资)from)from 职工职工)as)as 平均平均工资工资from from 职工职工select select 职工职工.*,(select avg(.*,(select avg(工资工资)from)from 职工职工)as)as 平均工资平均工资from from 职工职工select sel
29、ect 职工职工.*,(select avg(.*,(select avg(工资工资)from)from 职工职工)as)as 平均工资平均工资,工资工资-(select avg(-(select avg(工资工资)from)from 职工职工)as as 与平均工资的差与平均工资的差from from 职工职工内蒙古利丰汽车 孙建新2021/9/26373.5 3.5 分组查询(分组查询(P86P86)n分组查询的关键字是分组查询的关键字是group by group by n在分组查询中要注意条件的运用,分组之前的在分组查询中要注意条件的运用,分组之前的条件要用条件要用wherewhere
30、,分组之后的条件要用,分组之后的条件要用havinghaving内蒙古利丰汽车 孙建新2021/9/26383.5.1 group by3.5.1 group by分组查询(分组查询(P86P86)use use 企业销售管理系统企业销售管理系统select max(select max(工资工资)as)as 最大工资最大工资,min(,min(工资工资)as)as 最小工资最小工资,sum(,sum(工资工资)as)as 工资总和工资总和,avg(,avg(工资工资)as)as 平均工资平均工资,count(*)as,count(*)as 职职工人数工人数from from 职工职工grou
31、p by group by 仓库号仓库号内蒙古利丰汽车 孙建新2021/9/2639分组查询中带有逻辑运算符分组查询中带有逻辑运算符分组查询中带有逻辑运算符、谓词分组查询中带有逻辑运算符、谓词inin、likelike、betweenbetweenendend等等首先用首先用selectselect求出职工求出职工zg1zg1的工资,然后再分组的工资,然后再分组显示统计信息。显示统计信息。use 企业销售管理系统企业销售管理系统select max(工资工资)as 最大工资最大工资,min(工资工资)as 最小工最小工资资,sum(工资工资)as 工资总和工资总和,avg(工资工资)as 平均
32、工资平均工资,count(*)as 职工人数职工人数from 职工职工where 工资工资(select 工资工资from 职工职工where 职工号职工号=zg1)group by 仓库号仓库号2021/9/26403.5.2 3.5.2 带有带有 having having 的分组查询的分组查询(P87P87)n分组之前的条件要用分组之前的条件要用wherewhere关键字,而分关键字,而分组之后的条件要用组之后的条件要用havinghaving关键字关键字use use 企业销售管理系统企业销售管理系统select max(select max(工资工资)as)as 最大工资最大工资,m
33、in(,min(工资工资)as)as 最小工资最小工资,sum(,sum(工资工资)as)as 工资总和工资总和,avg(,avg(工资工资)as)as 平均工资平均工资,count(*)as,count(*)as 职职工人数工人数from from 职工职工group by group by 仓库号仓库号 having avg(having avg(工资工资)1760)1760内蒙古利丰汽车 孙建新2021/9/2641在分组查询的在分组查询的havinghaving条件中带条件中带有逻辑运算符有逻辑运算符n在分组查询的在分组查询的havinghaving条件中带有逻辑运条件中带有逻辑运算符
34、、谓词算符、谓词inin、likelike、betweenbetweenandanduse 企业销售管理系统企业销售管理系统select 仓库号仓库号,max(工资工资)as 最大工资最大工资,min(工资工资)as 最小工资最小工资,sum(工资工资)as 工资总和工资总和,avg(工资工资)as 平均工资平均工资,count(*)as 职工职工人数人数from 职工职工group by 仓库号仓库号having avg(工资工资)1760 and max(工资工资)-min(工资工资)between 380 and 8002021/9/26423.5.3 3.5.3 带有分组的嵌套查询带有
35、分组的嵌套查询(P88P88)nuse use 企业销售管理系统企业销售管理系统nselect*from select*from 仓库仓库where where 仓库号仓库号in(select in(select 仓库号仓库号from from 职工职工group by group by 仓库号仓库号having having max(max(工资工资)-min()-min(工资工资)between 380 and 800)between 380 and 800)内蒙古利丰汽车 孙建新2021/9/26433.5.4 3.5.4 内外层嵌套实现分组功能内外层嵌套实现分组功能(P88P88)n显
36、示不同职工经手订单金额最大的订单信息显示不同职工经手订单金额最大的订单信息use 企业销售管理系统企业销售管理系统select a.*from 订购单订购单 a where 金额金额=(select max(金额金额)from 订购单订购单where 职工号职工号=a.职工号职工号)内蒙古利丰汽车 孙建新2021/9/26443.5.5 3.5.5 在分组查询字段中添加在分组查询字段中添加运算字段(运算字段(P89P89)n在职工表中添加职工所在仓库的平均工在职工表中添加职工所在仓库的平均工资值字段,就可以利用平均字段进行运资值字段,就可以利用平均字段进行运算,大大提高编程速度。算,大大提高编
37、程速度。use 企业销售管理系统企业销售管理系统select a.*,(select avg(工资工资)from 职工职工where 仓库号仓库号=a.仓库号仓库号)as 所在仓库的所在仓库的平均工资平均工资 from 职工职工 a内蒙古利丰汽车 孙建新2021/9/2645在分组查询字段中添加运算字在分组查询字段中添加运算字段段在在select select 查询中,还可以计算出每名职工查询中,还可以计算出每名职工的工资与职工所在仓库的平均工资之差的工资与职工所在仓库的平均工资之差use 企业销售管理系统企业销售管理系统select a.*,(select avg(工资工资)from 职工职
38、工where 仓库号仓库号=a.仓库号仓库号)as 所在仓库的所在仓库的平均工资平均工资,工资工资-(select avg(工资工资)from 职职工工where 仓库号仓库号=a.仓库号仓库号)as 与所在仓库与所在仓库平均工资之差平均工资之差from 职工职工a2021/9/26463.6 3.6 谓词与量词查询(谓词与量词查询(P90P90)n谓词谓词inin与与not in not in,existsexists与与not existsnot exists这两这两个谓词实现的功能相同,只是写法不同。个谓词实现的功能相同,只是写法不同。n常用量词有常用量词有anyany、allall、s
39、omesome,any any 和和somesome是是同义词同义词内蒙古利丰汽车 孙建新2021/9/26473.6.1 exits 3.6.1 exits 谓词查询(谓词查询(P90P90)n用用existsexists谓词实现谓词实现use use 企业销售管理系统企业销售管理系统select*from select*from 仓库仓库where not exists(select*where not exists(select*from from 职工职工where where 仓库号仓库号=仓库仓库.仓库号仓库号)n用用inin谓词实现谓词实现select*from select*f
40、rom 仓库仓库where where 仓库号仓库号not in(select not in(select 仓库号仓库号from from 职工职工)n查询结果相同查询结果相同内蒙古利丰汽车 孙建新2021/9/26483.6.2 any 3.6.2 any 量词查询(量词查询(P91P91)n用用anyany量词实现量词实现use use 企业销售管理系统企业销售管理系统select*from select*from 职工职工where where 工资工资=any(select=any(select 工资工资from from 职工职工where where 仓库号仓库号=wh2)=wh2
41、)n用统计函数实现用统计函数实现select*from select*from 职工职工where where 工资工资=(select min=(select min(工资工资)from)from 职工职工where where 仓库号仓库号=wh2wh2)n查询结果相同查询结果相同内蒙古利丰汽车 孙建新2021/9/26493.6.3 all 3.6.3 all 量词查询(量词查询(P92P92)nallall量词查询要求查询中所有行都使结果为真时结果才为真量词查询要求查询中所有行都使结果为真时结果才为真n用用allall量词实现量词实现use use 企业销售管理系统企业销售管理系统se
42、lect*from select*from 职工职工where where 工资工资=all(select=all(select 工资工资from from 职工职工where where 仓库号仓库号=wh1)=wh1)n用统计函数实现用统计函数实现select*from select*from 职工职工where where 工资工资=(select MAX(=(select MAX(工资工资)from)from 职职工工where where 仓库号仓库号=wh1)=wh1)n结果相同结果相同内蒙古利丰汽车 孙建新2021/9/26503.73.7显示部分记录的显示部分记录的toptop
43、查询(查询(P94P94)n在编程中,有时只需要显示满足条件的几条记录,在编程中,有时只需要显示满足条件的几条记录,这时可以使用这时可以使用toptop关键字。可以直接使用关键字。可以直接使用toptop数字显数字显示指定条数记录,也可以使用示指定条数记录,也可以使用toptop数字数字percentpercent显示显示满足条件记录的前百分之几条记录。满足条件记录的前百分之几条记录。use use 企业销售管理系统企业销售管理系统select top 3*from select top 3*from 职工职工order by order by 工资工资descdesc内蒙古利丰汽车 孙建新2
44、021/9/2651实例实例1010n显示订单金额最低的前显示订单金额最低的前40%40%条订单信息条订单信息use use 企业销售管理系统企业销售管理系统select top 40 percent*from select top 40 percent*from 订购单订购单 order order by by 金额金额 ascasc2021/9/26523.8 3.8 保存查询(保存查询(P95P95)n利用利用intointo语句可以把查询结果保存成一张新表。语句可以把查询结果保存成一张新表。use use 企业销售管理系统企业销售管理系统select*into select*into
45、职工备份职工备份from from 职工职工n生成一张新表,表名是生成一张新表,表名是“职工备份职工备份”。内蒙古利丰汽车 孙建新2021/9/26533.9 3.9 集合的并运算(集合的并运算(P95P95)nSQLSQL支持集合的并运算支持集合的并运算(union)(union),即可以将两个,即可以将两个selectselect语句的查询结果通过并运算合并成一个查语句的查询结果通过并运算合并成一个查询结果。询结果。n为了进行并运算,要求这样的两个查询具有相同为了进行并运算,要求这样的两个查询具有相同的字段个数,对应的字段值要出自同一个值域,的字段个数,对应的字段值要出自同一个值域,即具有
46、相同的数据类型和取值范围。即具有相同的数据类型和取值范围。use use 企业销售管理系统企业销售管理系统select*from select*from 仓库仓库where where 城市城市=北京北京 union union select*from select*from 仓库仓库where where 城市城市=上海上海 内蒙古利丰汽车 孙建新2021/9/26543.10 3.10 集合的交运算(集合的交运算(P96P96)nSQLSQL支持集合的交运算(支持集合的交运算(intersectintersect),可以将两个),可以将两个selectselect语句的查询结果通过交运算合
47、并成一个查询结果。语句的查询结果通过交运算合并成一个查询结果。n为了进行并运算,要求这样的两个查询具有相同的字段个为了进行并运算,要求这样的两个查询具有相同的字段个数,对应的字段值要出自同一个值域,即具有相同的数据数,对应的字段值要出自同一个值域,即具有相同的数据类型和取值范围。类型和取值范围。nuse use 企业销售管理系统企业销售管理系统nselect select 仓库号仓库号 from from 仓库仓库 intersect intersect 仓库号仓库号 from from 职工职工内蒙古利丰汽车 孙建新2021/9/26553.11 3.11 连接查询(连接查询(P96P96)
48、n连接就是将多个表中的数据结合到一起的查询,连接就是将多个表中的数据结合到一起的查询,即可以在一个即可以在一个select select 语句中完成从多个表中语句中完成从多个表中查找和处理的数据。查找和处理的数据。n使用连接的列必须具有相同的数据类型和相同使用连接的列必须具有相同的数据类型和相同的意义的意义内蒙古利丰汽车 孙建新2021/9/26563.11.1 3.11.1 笛卡尔积(笛卡尔积(P97P97)n从原理上说,连接首先形成表的笛卡儿集,即从原理上说,连接首先形成表的笛卡儿集,即形成用于连接的表中所有行的组合。形成用于连接的表中所有行的组合。use use 企业销售管理系统企业销售
49、管理系统select*from select*from 职工职工,仓库仓库内蒙古利丰汽车 孙建新2021/9/26573.11.2 3.11.2 多表连接(多表连接(P97P97)n在进行多表连接时,一定要注意连接条件。在进行多表连接时,一定要注意连接条件。use use 企业销售管理系统企业销售管理系统select*from select*from 职工职工,仓库仓库where where 职工职工.仓库号仓库号=仓库仓库.仓库号仓库号内蒙古利丰汽车 孙建新2021/9/26583.12 3.12 超连接查询(超连接查询(P98P98)n超连接查询必须有两张或两张以上的表。超连接查询必须有两
50、张或两张以上的表。n超连接查询包括超连接查询包括4 4种:内连接查询、左连接查种:内连接查询、左连接查询、右连接查询、全连接查询。询、右连接查询、全连接查询。n可以把不满足条件的记录以可以把不满足条件的记录以nullnull来显示。来显示。内蒙古利丰汽车 孙建新2021/9/26593.12.1 3.12.1 内连接(内连接(P98P98)n只有满足连接条件的记录才出现在查询结果中只有满足连接条件的记录才出现在查询结果中n超连接超连接select select 仓库仓库.仓库号仓库号,职工号职工号,城市城市,面积面积,工资工资from from 仓库仓库inner join inner joi