欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    Microsoft Access数据库中SQL语句大全.docx

    • 资源ID:3509643       资源大小:23.84KB        全文页数:17页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Microsoft Access数据库中SQL语句大全.docx

    1、Microsoft Access数据库中SQL语句大全引子:如何找到ACCESS数据库的SQL视图: 1)单击下图左侧的 :2)单击上图顶部的,弹出如下图对话框:5)单击“关闭”,此时在菜单中的文件菜单下面出现一个SQL的下拉框;6)在“SQL”下拉框中选择如下图所示中的“SQL视图即可”。1、查询所有记录:Select *通常用于快速查看表中的记录。当对表的结构无法确切记忆时,或要快速查看表中的记录时,使用Select *是很方便的。use 企业销售管理系统Select * from 职工2、投影查询:很多时候并不需要将所有列的数据都显示出来。投影查询就是允许用户显示所需要的列。假设显示职工

    2、表中职工号、姓名、工资信息,具体操作方法如下。Select 职工号,姓名,工资 from 职工在Select查询中,还可以按照实际的需要或自己的喜好安排显示列的顺序,如果要把姓名放到第一列,则代码如下:Select姓名, 职工号,工资 from 职工3、条件查询:显示wh1或wh2仓库、性别不为女、工资在13002100之间的职工信息。具体操作如下:Select * from职工号 where(仓库号=wh1 or仓库号=wh2)And not 性别=女 and 工资=1300 and 工资工资=1300 And 工资=1900在SQL语句中,还支持BetweenAnd与Not结合使用。假设显

    3、示工资不在13001900之间的职工信息,具体代码如下:BetweenAnd语句Select * from职工 where 工资not Between 1300 And 1900大于等于号、小于等于号与And运算符Select * from职工 where 工资=19008、消除重复字段数据Distinct查询:在SQL投影查询中,可能会有许多重复的数据,使用关键字Distinct就可以从结果集中除去重复的数据。下面以显示职工的工资信息为例具体讲解一下:显示有重复的数据Select 工资 from职工显示无重复的数据Select Distinct工资 from职工9、单表嵌套查询:就是外层Se

    4、lect语句与内层Select语句都来源于同一张表。下面以显示仓库面积大于wh1仓库面积的仓库信息为例来讲解一下。首先利用Select语句求出wh1仓库的仓库面积,然后再显示面积大于该值的仓库信息。Select * from仓库 where 面积(select 面积 from 仓库 where 仓库号=wh1)嵌套查询中也可以带有逻辑运算符、谓词In、Like、BetweenAnd结构。假设显示wh1或wh2仓库的工资不大于职工zg16工资的职工信息,并要求职工姓名不含有“平”字。首先利用Select语句求出职工zg16的工资,然后再对姓名进行模糊查询。Select * from职工 wher

    5、e 工资1200 and仓库号 in(select 仓库号 from 仓库where 城市=北京)and 订购日期 between 2003-09-03 and 2006-01-0111、单级排序查询:排序的关键字是Order by,默认状态下是升序,关键字是Asc。降序排列的关键字是Desc。排序字段可以是数值型,也可以是字符型、日期时间型。下面以按工资从高到低显示职工信息为例来讲解一下。 Select * from 职工Order by 工资 desc在排序查询中还可以带有逻辑运算符、谓词In、Like、Between、And结构。假设显示wh1或wh2仓库的,工资不大于职工zg16工资的

    6、职工信息,并要求职工姓名不含有“平”字,按工资从低到高显示。首先利用Select语句求出职工zg16的工资,然后再对姓名进行模糊查询,最后再排序。Select * from 职工 where 工资150014、带有统计函数的嵌套查询:还可以利用统计函数得到的数据作为Select查询语句的条件进行查询。下面以显示工资大于所有职工平均值的职工信息为例来讲解一下。 Select * from 职工where 工资(select avg(工资) from 职工)在统计函数查询中可以带有比较运算符、逻辑运算符、In、BetweenAnd等。假设显示工资大于wh1或wh2仓库中职工平均工资,并且职工姓名不

    7、含有“亮”字的职工信息。 Select * from 职工where 工资(select avg(工资) from 职工 where 仓库号=wh1 or仓库号=wh2) and 姓名 not like %亮%15、统计函数字段显示在表字段中及运算字段:如果在职工表中添加一个职工平均工资值字段,这就对实际编程有很大的意义,即可以利用平均字段进行运算,大大提高编程速度。下面以在职工表中添加平均工资为例为讲解一下。Select 职工.*,(select avg(工资) from 职工) as 平均工资 from 职工在职工表中添加了一个平均工资字段,即在SELECT查询字段中添加了一个SELECT

    8、子查询。在SELECT查询中,还可以计算出每名职工的工资与所有职工平均工资之差,具体操作如下:Select 职工.*,(select avg(工资) from 职工) as 平均工资,工资(select avg(工资) from 职工) as 平均工资的差 from 职工16、分组查询:使用GROUPBY分组查询,要注意分组的标准一定要有意义,如显示不同仓库的平均工资,显示不同职工的最大订单金额等。如果显示不同职工的平均工资那就没有意义了。下面显示不同仓库的平均工资、工资和、最大工资、最小工资、工资人数信息为例来讲解一下。Select 仓库号,max(工资)as 最大工资, min(工资)as

    9、 最小工资, sum(工资)as 工资总和, avg(工资)as 平均工资, count(*)as 职工人数 from 职工 group by 仓库号在分组查询中还可以带有逻辑运算符、谓词In、Like、BetweenAnd结构。假设显示工资大于zg1职工工资的不同仓库的平均工资、工资和、最大工资、最小工资、工资人数信息。首先利用SELECT语句求出职工zg1的工资,然后再分组显示统计信息。Select 仓库号,max(工资)as 最大工资, min(工资)as 最小工资, sum(工资)as 工资总和, avg(工资)as 平均工资, count(*)as 职工人数 from 职工 wher

    10、e 工资( Select 工资 from 职工where 职工号=zg1) group by 仓库号17、带有Having的分组查询:分组以前的条件,要用Where关键字,而分组之后的条件则要使用Having关键字。下面以显示不同仓库的平均工资、工资和、最大工资、最小工资、工资人数信息,但要求该仓库平均工资大于1760为例来讲解一下。Select 仓库号,max(工资)as 最大工资, min(工资)as 最小工资, sum(工资)as 工资总和, avg(工资)as 平均工资, count(*)as 职工人数 from 职工group by 仓库号having avg(工资)1760在分组查

    11、询的Having条件中还可以带有逻辑运算符、谓词In、Like、BetweenAnd结构。假设显示不同仓库的平均工资、工资和、最大工资、最小工资、工资人数信息,但要求该仓库的平均工资大于1760,最大工资与最小工资之差在380800之间。Select 仓库号,max(工资)as 最大工资, min(工资)as 最小工资, sum(工资)as 工资总和, avg(工资)as 平均工资, count(*)as 职工人数 from 职工group by 仓库号having avg(工资)1760 and max(工资)min(工资) between 380 and 80018、带有分组的嵌套查询:还

    12、可以利用分组得到的数据作为SELECT查询语句的条件进行查询。下面以显示职工所在仓库的最大工资与最小工资之差在380800之间的职工所在仓库信息为例为讲解一下。先求出职工所在仓库的最大工资与最小工资之差在380800之间的职工所在的仓库号,再利用这个仓库号显示仓库信息。Select * from 仓库,where 仓库号 in(Select 仓库号 from职工group by 仓库号having d max(工资)min(工资) between 380 and 80019、内外层嵌套实现分组功能:利用group by分组显示统计字段信息,有很多字段不能显示。如显示不同仓库的平均工资信息,在这

    13、个查询中只能显示仓库号,不能显示职工号及职工的工资。因为不同仓库的平均工资,有几个仓库就显示几条平均工资,而每个仓库中的职工则有很多。下面以显示不同职工经手订购单金额最大的订单信息为例来讲解一下。在这里应该边求出每名职工订购单金额的最大值,边显示该职工所对应的这条订购单信息。具体代码如下:Select a.* from 订购单 a where 金额=(selectmax(金额) from 订购单 where 职工号=a.职工号)注意:上面语句中的订购单 a是给这个订购单起的一个别名,大家可以把它看成就其实就是订购单的一张复制的表,在这里运用它只是为了使内外层的嵌套更清晰、更容易理解。20、分组

    14、查询字段显示在表字段中及运算字段:如果在职工表中添加职工所在仓库的平均工资值字段,这就对实际编程有很大的意义,即可以利用平均字段进行运算,大大提高编程速度。下面以在职工表中添加职工所在的仓库的平均工资字段为例来讲解一下。Select a.* ,(Select avg(工资) from 职工 where 仓库号=a.仓库号) as 所在仓库的平均工资 from 职工 a在Select查询中,还可以计算出每名职工的工资与职工所在仓库的平均工资之差,具体操作如下:Select a.* ,(Select avg(工资) from 职工 where 仓库号=a.仓库号) as 所在仓库的平均工资,工资-

    15、(Select avg(工资) from 职工 where 仓库号=a.仓库号) as 所在仓库的平均工资之差 from 职工 a21、Exists谓词查询:其实In就是谓词查询,还有谓词Exists与Exists,这两个谓词实现的功能是相同的,只是写法不同。In多用于嵌套子查询语句中,而Exists多用于判断Select语句是否返回查询结果。常用量词有Any、All和Some是同义词。在进行比较运算时,只要子查询中有一行能使结果为真,结果就为真。而All则要求子查询中所有行都使结果为真时,结果才为真。下面以显示那些仓库中还没有职工的仓库信息为例,讲解一下In谓词与Exists谓词在代码上的不

    16、同。用Exists谓词实现:Select * from 仓库 where not Exists(Select * from职工 where仓库号=仓库.仓库号)用In谓词实现:Select * from 仓库 where 仓库号not in(Select仓库号from职工)22、Any量词查询:Any量词查询,在进行比较运算时,只要子查询中有一行能使结果为真,则结果即为真。下面就以显示工资大于等于wh2仓库中任一名职工工资的职工信息为例,讲解一下Any量词的应用。用Any量词实现:Select * from 职工 where 工资=any(Select 工资 from职工 where仓库号=w

    17、h2)使用统计函数实现:Select * from 职工 where 工资=(Select min(工资)from职工 where仓库号=wh2)23、All量词查询:All量词查询,要求子查询中所有行都使结果为真时,结果才为真。下面就以显示工资大于等于wh1仓库中所有职工工资的职工信息为例,讲解一下All量词的应用。用Any量词实现:Select * from 职工 where 工资=All(Select 工资 from职工 where仓库号=wh1)使用统计函数实现:Select * from 职工 where 工资=(Select MAX(工资)from职工 where仓库号=wh1)前

    18、面讲解的量词查询都可以用统计函数代替,但有些查询是不能用统计函数代替的。下面以显示工资大于所有不同仓库的平均工资的职工信息为例为讲解一下。Select * from 职工 where 工资all(Select avg(工资)from职工 group by仓库号)该题用统计函数就无法解决。24、显示部分记录的Top查询:在编程中,有时只需显示满足条件的前几条记录,这时就可以使用Top关键字。可以直接使用Top数字,显示指定条数记录;也可以使用Top数字Percent,显示所有满足条件记录的前百分之几条记录。下面以显示工资最高的前三条职工信息为例来讲解一下。Select top3 * from 职

    19、工 order by工资 desc25、保存查询:利用Into语句可以把查询的结果保存成一张新表。下面就以备份“职工”表为例讲解一下保存查询。Use 企业销售管理系统Select * into 职工备份 from职工这样就生成一张新表,表名为“职工备份”。26、集合的并运算:SQL支持集合的并运算(Union),即可以将两个Selec语句的查询结果通过并运算合并成一个查询结果。为了进行并运算,要求这样的两个查询结果具有相同的字段个数,并且对应的字段的值要出自同一个值域,即具有相同的数据类型和取值范围。Select * from 仓库where 城市=北京UnionSelect * from 仓

    20、库where 城市=上海27、集合的交运算:SQL支持集合的交运算(Intersect),即可以将两个Selec语句的查询结果通过交运算合并成一个查询结果。为了进行交运算,要求这样的两个查询结果具有相同的字段个数,并且对应的字段的值要出自同一个值域,即具有相同的数据类型和取值范围。Select 仓库号 from 仓库IntersectSelect 仓库号from 职工注意它们对集合的差运算不支持。28、多表连接查询:多表连接查询就是将多个表中的数据结合到一起的查询,即连接操作可以在一个Select语句中完成从我个表中查找和处理数据。使用连接的列必须是可连接的,即它们具有相同的数据类型、相同的意

    21、义。使用连接的列,列名可以相同,也可以不同。29、笛卡儿积:有的时候,如果连接条件没有设置好,或者没有设置连接条件,则结果将包含太多的行,这就是由笛卡儿积造成的。从原理上来讲,连接首先将形成表的笛卡儿积,即形成用于连接的表中所有的行的组合。下面以仓库表与职工表连接为例为讲解一下。Select * from 职工, 仓库这是从两张表中显示所有字段,所以字段有重复,并且产生了90条记录,原因是仓库表中有5条记录,职工表有18条记录,所以连接的结果是185=90条记录。用于连接的表越多,则笛卡儿积的结果将越大。30、多表连接:在进行多表连接时,一定要注意连接条件,下面以仓库表与职工表连接为例来讲解一下多表连接。Select * from 职工,仓库 where 职工.仓库号=仓库.仓库号这时显示的记录就没有那么多了,只显示18条记录,并且发现两张表的仓库号是相对应的。假设显示工资大于1500,面积大于600的城市与姓名信息。Select 城市,姓名 * from 职工,仓库 where 职工.仓库号=仓库.仓库号 and 工资工资


    注意事项

    本文(Microsoft Access数据库中SQL语句大全.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开