《SQL标准培训教程.ppt》由会员分享,可在线阅读,更多相关《SQL标准培训教程.ppt(75页珍藏版)》请在优知文库上搜索。
1、功能强大的功能强大的SQLSQL语句语句利用利用SQLSQL语句语句, ,可以查询、插入、更新、可以查询、插入、更新、删除数据库中的数据。删除数据库中的数据。3.1 select 3.1 select 语句解析与简单语句解析与简单SQLSQL语句语句 (P63)(P63)n从某种意义上说,从某种意义上说,selectselect语句是数据库结构化语句是数据库结构化查询语言查询语言SQLSQL的真正核心。的真正核心。n使用使用selectselect语句可以以多种不同的方式查找数语句可以以多种不同的方式查找数据库中的数据,并且可以显示通过现有数据推据库中的数据,并且可以显示通过现有数据推导、计算
2、出的数据信息。导、计算出的数据信息。3.1.1 select 3.1.1 select 语句解析语句解析 (P64)(P64)n在数据库引擎查询文档中输入在数据库引擎查询文档中输入6464页的代码页的代码 use use 企业销售管理系统企业销售管理系统 select select 仓库号仓库号, ,城市城市, ,面积面积, ,创建时间创建时间from from 仓仓库库where where 面积面积800800n执行该执行该SQLSQL语句,就可以从数据库表语句,就可以从数据库表“仓库仓库”中挑选出面积大于中挑选出面积大于800800的仓库号、城市、面积、的仓库号、城市、面积、创建时间信息
3、。创建时间信息。SelectSelect语言句的基本格式语言句的基本格式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 by group_list having conditions having conditions order
4、 by order_list order by order_list3.1.2 3.1.2 选择所有的列选择所有的列 (P65)(P65)nSelect Select 语句的第一个子句,即语句的第一个子句,即selectselect关键字关键字开头的子句,用于选择进行显示的列,并且可开头的子句,用于选择进行显示的列,并且可以指定是否显示重复的记录。以指定是否显示重复的记录。n在数据库引擎输入如下代码:在数据库引擎输入如下代码: use use 企业销售管理系统企业销售管理系统 select select 职工职工ID,ID,职工号职工号, ,仓库号仓库号, ,姓名姓名, ,性别性别, ,工工资
5、资 from from 职工职工3.1.3 3.1.3 投影查询投影查询 (P66)(P66)n有时并不需要将所有的列都显示出来,投影查有时并不需要将所有的列都显示出来,投影查询就是允许用户显示所需要的列。如:询就是允许用户显示所需要的列。如: use use 企业销售管理系统企业销售管理系统 select select 职工号职工号, ,姓名姓名, ,工资工资 from from 职工职工3.1.4 3.1.4 条件查询条件查询 (P66)(P66)nWhereWhere子句是在使用子句是在使用selectselect语句进行查询时最语句进行查询时最重要的子句,在重要的子句,在wherewh
6、ere子句中指出了检索的条子句中指出了检索的条件,系统进行检索时将按照这些指定的条件对件,系统进行检索时将按照这些指定的条件对记录进行检索,找出符合条件的记录。记录进行检索,找出符合条件的记录。n在在SQLSQL中提供了各种运算符和关键字来实现搜中提供了各种运算符和关键字来实现搜索条件索条件, ,其中运算符分为比较运算符与逻辑运其中运算符分为比较运算符与逻辑运算符算符, ,关键字有关键字有inin、likelike、betweenbetweenandand、is is nullnull、is not nullis not null等。等。3.1.4.1 3.1.4.1 比较运算符比较运算符 (
7、P67P67)n比较运算符在比较运算符在wherewhere字句中使用非常普遍,字句中使用非常普遍,几乎所有的条件查询都要用到比较运算几乎所有的条件查询都要用到比较运算符。如符。如6767页表页表3-13-1所列出的比较运算符。所列出的比较运算符。数字的比较数字的比较n显示订单金额大于显示订单金额大于1000010000元的订单信息,执行下面元的订单信息,执行下面的代码:的代码: use use 企业销售管理系统企业销售管理系统 select select * * from from 订购单订购单 where where 金额金额1000010000字符串比较字符串比较n纯英文字符串的比较按照
8、字典顺序进行,先比纯英文字符串的比较按照字典顺序进行,先比较第一个字母在字典顺序中的位置,位置在前较第一个字母在字典顺序中的位置,位置在前的字符小于位置在后面的字符,若第一个字符的字符小于位置在后面的字符,若第一个字符相同则继续比较第二个字符,直到得出比较结相同则继续比较第二个字符,直到得出比较结果。果。n执行下面的代码:执行下面的代码:use use 企业销售管理系统企业销售管理系统select select * * from from 订购单订购单where where 订购单号订购单号or3or3日期时间的比较日期时间的比较n比较方法按照年、月、日、小时、分钟、秒进比较方法按照年、月、日
9、、小时、分钟、秒进行比较。行比较。n执行下面的代码:执行下面的代码:use use 企业销售管理系统企业销售管理系统select select * * from from 订购单订购单where where 订购日期订购日期2004-2004-09-0109-013.1.4.2 3.1.4.2 逻辑运算符(逻辑运算符(P69P69)nSQLSQL中的逻辑运算符共有中的逻辑运算符共有3 3种:种:andand(与)(与)oror(或)(或)notnot(非)(非)andand(与)(与)nandand运算符可以连接两个或两个以上的条件,只有运算符可以连接两个或两个以上的条件,只有当当andand
10、连接的条件都为真时,连接的条件都为真时,andand的结果才为真。的结果才为真。n执行代码如下:执行代码如下: use use 企业销售管理系统企业销售管理系统 select select * * from from 职工职工where where 工资工资1510 and 1510 and 仓库仓库号号!=wh2!=wh2oror(或)(或)n当当oror连接的条件中有一个为真,连接的条件中有一个为真,oror的结果就为真。的结果就为真。n执行代码如下:执行代码如下: use use 企业销售管理系统企业销售管理系统 select select * * from from 职工职工where
11、 where 工资工资2000 or 2000 or 仓库号仓库号=wh1=wh1notnot(非)(非)n表示将原条件取反,如果原条件为真,则加上表示将原条件取反,如果原条件为真,则加上notnot后就是假。后就是假。n执行代码如下:执行代码如下: use use 企业销售管理系统企业销售管理系统 select select * * from from 职工职工where not where not 工资工资150015003.1.4.3 3.1.4.3 运算符的优先级(运算符的优先级(P70P70)n SQL SQL语句各运算符的优先级如语句各运算符的优先级如7171页图页图31-231-
12、2所示所示n执行代码如下:执行代码如下: use use 企业销售管理系统企业销售管理系统 select select * * from from 职工职工where (where (仓库号仓库号=wh1 =wh1 or or 仓库号仓库号=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
13、城市城市 is is not null and not null and 面积面积!=900!=9003.2 3.2 嵌套查询(嵌套查询(P77P77)n嵌套查询就是在一个嵌套查询就是在一个select select 查询语句中嵌套查询语句中嵌套了另一个了另一个selectselect子查询语句子查询语句, ,即一个即一个selectselect查查询结果作为另一个查询的一部分。询结果作为另一个查询的一部分。3.2.1 3.2.1 单表嵌套查询单表嵌套查询 (P77P77)n单表嵌套查询就是在一个单表嵌套查询就是在一个select select 查询语句中嵌套查询语句中嵌套了另一个了另一个se
14、lect select 子查询语句子查询语句n首先利用首先利用selectselect语句求出语句求出wh1wh1仓库的面积,然后再仓库的面积,然后再显示面积大于该值的仓库信息。显示面积大于该值的仓库信息。use use 企业销售管理系统企业销售管理系统select select * * from from 仓库仓库where where 面积面积(select (select 面积面积from from 仓库仓库where where 仓库号仓库号=wh1)=wh1)n嵌套查询中也可以带有逻辑运算符、谓词嵌套查询中也可以带有逻辑运算符、谓词inin、likelike、betweenbetwe
15、enandand等。等。 3.2.2 3.2.2 多表嵌套查询(多表嵌套查询(P78P78)n多表查询语句就是外层多表查询语句就是外层select select 语句与内层语句与内层selectselect语句来源于不同的表语句来源于不同的表use use 企业销售管理系统企业销售管理系统select select * * from from 职工职工where where 仓库号仓库号in(select in(select 仓仓库号库号from from 仓库仓库where where 城市城市=北京北京)select select * * from from 订购单订购单where whe
16、re 职工号职工号in(select in(select 职工号职工号from from 职工职工where where 仓库号仓库号in(select in(select 仓仓库号库号from from 仓库仓库where where 城市城市=北京北京)3.2.3 3.2.3 实例剖析实例剖析-企业销售管企业销售管理系统理系统. .实例实例4 4(P79P79)n没有职工的仓库信息没有职工的仓库信息, ,就是该仓库中没有职工就是该仓库中没有职工, ,哪个仓库号没有在职工表中出现。哪个仓库号没有在职工表中出现。use use 企业销售管理系统企业销售管理系统select select * * from from 仓库仓库where where 仓库号仓库号not not in(select in(select 仓库号仓库号from from 职工职工) )实例剖析实例剖析-企业销售管理系企业销售管理系统统. .实例实例5(P80)5(P80)显示供应商名中含有显示供应商名中含有“青岛青岛”两个字的供应商的两个字的供应商的订购单信息,并且不显示订购单信息,并且不显示zg15zg15和和