ACCESS数据库中常见SQL语句汇总教程.docx
《ACCESS数据库中常见SQL语句汇总教程.docx》由会员分享,可在线阅读,更多相关《ACCESS数据库中常见SQL语句汇总教程.docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ACCESS数据库的SQL语句教学1、查询所有记录:Select *通常用于快速查看表中的记录。当对表的结构无法确切记忆时,或要快速查看表中的记录时,使用Select *是很方便的。use企业销售管理系统Select * from 职工2、投影查询:很多时候并不需要将所有列的数据都显示出来。投影查询就是允许用户显 示所需要的列。假设显示职工表中职工号、姓名、工资信息,具体操作方法如下。Select职工号,姓名,工资from职工在Select查询中,还可以按照实际的需要或自己的喜好安排显示列的顺序,如果要把姓名 放到第一列,则代码如下:Select姓名,职工号,工资from职工3、条件查询:显示
2、whl或wh2仓库、性别不为女、工资在13002100 之间的职工 信息。具体操作如下:Select * from 职工号 where(仓库号=,whor 仓库号=,wh2)And not 性别=女and 工资=1300 and工资二2100在这里一定要注意,(仓库号=whor仓库号=,wh2)一定要加括号,否则就不是原题的意思。4、谓词In查询:在查找特定条件的数据时,如果条件较多,就需要用到多个Or运算符,以查找满足其中任一条的记录。但使用多个Or运算符,将使Where 子句变得过于冗 长,这时使用In就非常清楚。另外,在后面讲解的嵌套查询中,也必须使用In查询。下面以 显示zgl、zg2
3、、zgll、zgl5的订购单信息为例具体讲解一下。使用Or运算符Select * from 订购单 where职工号=zgl or 职工号=zg2Or职工号=zglor职工号=zgl5使用谓词InUse企业销售管理系统Select * from 订购单 where 职工号 in(zgl, zg2, zgl 1, zgl5)在Select语句中,还支持In与Not结合使用。假设显示职工号不为zgl, zg2, zgll, zgl5的订 购单信息,具体代码如下:使用Or运算符Select * from 订购单 where职工号!=zgl or职工号!=zg2 Or职工号!=zgl 1 or职工号!
4、=zgl5使用谓词In31、超连接查询:超连接查询也是连接查询,所以必须有两张或两张以上的表。超连接 查询共有4种:内连接查询、左连接查询、右连接查询、全连接查询。使用超连接查询不仅可 以把满足条件的记录显示出来,还可以把一部分不满足条件的记录以NULL显示出来。1)内连接查询:只有满足连接条件的记录才出现在查询结果集中。下面以显示面积大于 600的仓库号、职工号、城市、面积、工资信息为例为讲解一下内连接:超连接:Select仓库.仓库号职工号,城市,面积,工资from仓库inner join职工on职工.仓库号=仓库.仓库号and面积600普通连接:Select仓库.仓库号职工号城市面积工资
5、from职工,仓库where职工.仓库号二仓库.仓库号and面积6002)左连接查询:除满足连接条件的记录显示外,第一张表中不满足条件的记录也出现在 查询结果集中。下面以显示面积大于600的仓库号、职工号、城市、面积、工资信息为例为 讲解一下左连接。Select仓库.仓库号,职工号,城市,面积,工资from仓库left joi职工on职工.仓库号二 仓库.仓库号and面积6003)右连接查询:除满足连接条件的记录显示外,第二张表中不满足条件的记录也出现在 查询结果集中。下面以显示面积大于600的仓库号、职工号、城市、面积、工资信息为例为 讲解一下右连接。Select仓库.仓库号,职工号,城市,
6、面积,工资from仓库right join职工on职工.仓库号=仓库.仓库号and面积6004)全连接查询:除满足连接条件的记录显示外,两张表中不满足条件的记录也出现 在查询结果集中。下面以显示面积大于600的仓库号、职工号、城市、面积、工资信息为例 为讲解一下全连接。Select仓库.仓库号,职工号,城市,面积,工资from仓库full joi职工on职工.仓库号二仓库.仓库号and面积6005 )多表超连接查询:前面讲解了两个表的超连接,那么如果是3张表或更多张表该如何 实现超链接呢?下面以显示面积大于600的仓库号、职工号、城市、面积、工资、金额信息 为例为讲解一下多表超连接。要显示的字
7、段信息来源于3张表,仓库表、职工表、订购单表, 这里实现仓库表与职工表的左连接,职工表与订购单表的右连接。Select仓库.仓库号职工号,城市,面积,工资,金额from仓库left joi职工on职工.仓 库号=仓库.仓库号right join订购单on职工.职工号=订购单.职工号and面积60032、Insert插入语句:向数据库表中插入数据是最常用的功能:1)指定所有列:Insert into仓库(仓库号,城市,面积,创建时间)values (wh6,Wf,80072005-12-01)按下键盘上的F5键,会显示(1行受影响),这表示已成功地插入一条记录。再在数据库 引擎查询文档中输入“S
8、elect* from仓库”,然后按下键盘上的F5键,就可以执行该SQL语句, 这样就可以在查询结果上看到你插入的记录。在这里要注意,仓库ID是自动编号,所以不能 插入。其实上面的代码还可以省略表后面的字段,这样也可以成功地插入记录。Insert into仓库 values (wh6,郑州,800,2005-12-01)2 )指定部分列:下面以向仓库表中添加一条记录为例来讲解一下指定部分列。Insert into仓库(仓库号,面积)values (wh7,800)代这写:Insert into仓库 values (wh7,null,800,null)或Insert into仓库(仓库号,城市,
9、面积,创建时间)values (wh7,null,800,nul)3)带有子查询的插入语句:使用带有子查询的插入语句,首先要注意两个表的结构相同。 下面还是用一个实例来讲解一下。首先创建一张与仓库表结构相同的空表,然后在数据库引擎查询文档中输入如下代码:Select * into仓库 blank from 仓库 where面积600按下键盘上的F5键,会显示(6行受影响),这表示已成功地插入6行记录。再在数据库引 擎查询文档中输入“Select* from仓库blank”,然后按下键盘上的F5键,就可以执行该SQL 语 句,这样就可以利用Insert语句一次向表中插入多条记录。33、Updat
10、e更新语句:向数据库表中添加记录后,可能需要对数据库进行修改。1 )修改所有记录:下面以为所有仓库的面积都增加100为例为讲解一个修改所有记录。Update仓库set面积=面积+1002)指定条件的更新语句:下面以把城市在上海或北京的仓库的面积增加100为例,来讲解一下指定条件的更新语 句。Use企业销售管理系统城市:上海or城市=北京Update 仓库 set面积=面积+100 where34、Delete删除语句:与添加记录一样,删除记录也是数据库中一个重要的功能。Delete语句仅仅删除数据库表中的记录,不会删除表。Delete语句不能删除单个列的值,而是删除整个记录。关键字Where可
11、以有,也可以没有。如果不加条件,则删除整张表的所有记录;如果有 条件,则删除表中满足条件的记录。1)指定条件的删除语句:下面以删除仓库blank表中仓库面积大于900的记录为例,来讲解一下指定条件的删除语 句。Delete from 仓库 blank 面积9002)删除表中所有记录:下面以删除仓库blank表中所有记录为例,来讲解一下删除表中所有记录。Delete from 仓库 blank或truncate from 仓 库 blanktruncate语句与Delete语句之间是有区别的,Delete语句实际上是对表中每一个记录执行删 除操作,而数据库执行随之可能产生的所有任务,如触发器;t
12、runcate语句仅仅把所有记录一次 删除,将会忽略定义的触发器,因此执行速度比Delete语句要快。由于truncate语句不处理删除 引起的其他事件,因此使用它可能产生数据库完整性问题,所以对于有依赖关系的表,最好使 用Delete语句删除。Use企业销售管理系统Select * from 订购单 where 职工号 not in(zgl, zg2,zgl,zgl5)通配符及其含义5模糊Like查询:有的时候,我们不清楚所要查询的信息,如显示职工信息,但不能确 定该职工的姓名,只知道他姓名中含有“王”字,那该如何查找呢? SQL中提供了 Like关键字,在 SQL息,具体代码如下:Sele
13、ct * from 职工 where姓名 not like理/在该例中,如果你知道姓名中含有“王”字,并且姓名只有两个字,那么可以进一步缩小查 找范围,具体代码如下:Select * from 职工 where姓名 not like王这样就可以查找到姓名中只有西个字,并且姓为“王”的职工信息。6、空值NULL查询:在SQL语句中使用IS NULL来进行是否为空的判断。下面以显示 性别为空的职工信息为例具体讲解一下。Select * from 职工 where 性另U is null假设显示性别不为空的职工信息,具体代码如下:Select * from 职工 where 性别 is not nu
14、ll7、限制范围Betwee nAnd查询:在数据医疗队引擎查询中,限制范围也是经常使用 的一个条件。当然可以使用大于等于号、小于等于号和And运算符三者来完成范围的限制,但 使用Betwee nAnd结构,会使SQL更清楚。下面以显示工资在130。1900之间的职工信息为 例具体讲解一下。Betwee n.And 语句Select * from 职工 where 工资 Between 1300 And 1900大于等于号、小于等于号与And运算符Select * from 职工 where工资=1300 And 工资二1900在SQL语句中,还支持Between .And与Not结合使用。假
15、设显示工资不在13001900 之间的职工信息,具体代码如下:Betwee n And 语句Select * from 职工 where 工资 not Between 1300 And 1900大于等于号、小于等于号与And运算符Select * from 职工 where工资二1300And 工资=19008、消除重复字段数据Distinct查询:在SQL投影查询中,可能会有许多重复的数据,使用 关键字Distinct就可以从结果集中除去重复的数据。下面以显示职工的工资信息为例具体讲解一 下:显示有重复的数据Select工资from职工显示无重复的数据Select Distinct 工资 f
16、rom 职工9、单表嵌套查询:就是外层Select语句与内层Select语句都来源于同一张表。下面以显 示仓库面积大于whl仓库面积的仓库信息为例来讲解一下。首先利用Select语句求出whl仓库的仓库面积,然后再显示面积大于该值的仓库信息。Select * from 仓库 where 面积(select 面积 from 仓库 where仓库号=whl)嵌套查询中也可以带有逻辑运算符、谓词In、Like、Between. .And结构。假设显示whl或wh2仓库的工资不大于职工zgl6工资的职工信息,并要求职工姓名不含有“平”字。首先利用Select语句求出职工zgl6的工资,然后再对姓名进行
17、模糊查询。Select * from 职工 where工资v=(select工资 from 职工 where 职工号=zgl6)and 姓名 not like %平 and 仓库号 in(whl, wh2)10、多表嵌套查询:多表嵌套查询就是外层Select语句与内层Select语句来源于不同的表, 但表之间要存在关系。这也是SQL语句中最重要的查询。下面以显示北京地区的职工信息为首先利用Select语句求出北京地区的仓库号,然后利用仓库号再显示职工信息。use企业销售管理系统Select * from 职工 where 仓库号 in(select仓库号 from where 城市北京)不仅可
18、以实现两个表的嵌套,还可以实现多个表的嵌套,假设显示北京地区的职工的订购 单信息。首先利用Select语句得到北京地区的仓库号,然后利用得到的仓库号得到该仓库中的职工 号,再利用得到的职工号得到职工的订购单信息。Select * from订购单where 职工号in(Select职工号from职工where 仓库号in(select仓库号from仓库where城市=北京)多表嵌套查询中也可以带有逻辑运算符、谓词In、Like、Between 、And结构。假设显示 北京地区的职工的订购单信息,并且职工的工资大于1200 ,订购日期为2003年9月3日一2006年1月1日。Select * fr
19、om订购单where 职工号in(Select职工号from职工where工资1200and仓库号in(select仓库号from仓库where城市=北京)and订购日期between 2 003-09-03* and 2006-01-0111、单级排序查询:排序的关键字是Order by ,默认状态下是升序,关键字是Asc。降 序排列的关键字是Desc。排序字段可以是数值型,也可以是字符型、日期时间型。下面以按工 资从高到低显示职工信息为例来讲解一下。Select * from 职工Order by 工资 desc在排序查询中还可以带有逻辑运算符、谓词In、Like、Between 、And
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ACCESS 数据库 常见 SQL 语句 汇总 教程
限制150内