ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:158KB ,
资源ID:7903180      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7903180.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(Microsoft Access数据库中SQL语句大全.doc)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

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

1、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仓库、性别不为女、工资在1300~2100之间的职工信息。具体操作如下: Select * from职工号 where(仓库号=’wh1’ or仓库号=’wh2’) And not 性别=’女’ and 工资>=1300 and 工资工资<=2

3、100 在这里一定要注意,(仓库号=’wh1’ or仓库号=’wh2’)一定要加括号,否则就不是原题的意思。 4、谓词In查询:在查找特定条件的数据时,如果条件较多,就需要用到多个Or运算符,以查找满足其中任一条的记录。但使用多个Or运算符,将使Where子句变得过于冗长,这时使用In就非常清楚。另外,在后面讲解的嵌套查询中,也必须使用In查询。下面以显示zg1、zg2、zg11、zg15的订购单信息为例具体讲解一下。 使用Or运算符 Select * from订购单 where 职工号=’zg1’ or职工号=’zg2’’) Or职工号=’zg11’ or职工号=’zg15

4、’ 使用谓词In Use 企业销售管理系统 Select * from订购单 where 职工号 in(’zg1’, ’zg2’, ’zg11’, ’zg15’) 在Select语句中,还支持In与Not结合使用。假设显示职工号不为zg1, zg2, zg11, zg15的订购单信息,具体代码如下: 使用Or运算符 Select * from订购单 where 职工号!=’zg1’ or职工号!=’zg2’’) Or职工号!=’zg11’ or职工号!=’zg15’ 使用谓词In Use 企业销售管理系统 Select * from订购单 where 职工号 not in(

5、’zg1’, ’zg2’, ’zg11’, ’zg15’) 5、模糊Like查询:有的时候,我们不清楚所要查询的信息,如显示职工信息,但不能确定该职工的姓名,只知道他姓名中含有“王”字,那该如何查找呢?SQL中提供了Like关键字,使用Like进行了查询时,还要指定通配符。 通 配 符 及 其 含 义 通配符 含 义 % 包含0个或多个字符 _(下画线) 包含一个字符 [] 指定范围(如[a-z] [^] 不属于指定范围([^a-z]) 在SQL语句中,还支持Like与Not结合使用。假设显示姓名中不含有“王”字的职工信息,具体代码如下: Select *

6、from职工 where 姓名 not like’王%’ 在该例中,如果你知道姓名中含有“王”字,并且姓名只有两个字,那么可以进一步缩小查找范围,具体代码如下: Select * from职工 where 姓名 not like’王_’ 这样就可以查找到姓名中只有两个字,并且姓为“王”的职工信息。 6、空值NULL查询:在SQL语句中使用IS NULL来进行是否为空的判断。下面以显示性别为空的职工信息为例具体讲解一下。 Select * from职工 where 性别 is null 假设显示性别不为空的职工信息,具体代码如下: Select * from职工 where 性

7、别 is not null 7、限制范围Between…And查询:在数据医疗队引擎查询中,限制范围也是经常使用的一个条件。当然可以使用大于等于号、小于等于号和And运算符三者来完成范围的限制,但使用Between…And结构,会使SQL更清楚。下面以显示工资在1300~1900之间的职工信息为例具体讲解一下。 Between…And语句 Select * from职工 where 工资Between 1300 And 1900 大于等于号、小于等于号与And运算符 Select * from职工 where 工资>=1300 And 工资<=1900 在SQL语句中,还支持B

8、etween…And与Not结合使用。假设显示工资不在1300~1900之间的职工信息,具体代码如下: Between…And语句 Select * from职工 where 工资not Between 1300 And 1900 大于等于号、小于等于号与And运算符 Select * from职工 where 工资<=1300 And 工资>=1900 8、消除重复字段数据Distinct查询:在SQL投影查询中,可能会有许多重复的数据,使用关键字Distinct就可以从结果集中除去重复的数据。下面以显示职工的工资信息为例具体讲解一下: 显示有重复的数据 Select 工资

9、 from职工 显示无重复的数据 Select Distinct工资 from职工 9、单表嵌套查询:就是外层Select语句与内层Select语句都来源于同一张表。下面以显示仓库面积大于wh1仓库面积的仓库信息为例来讲解一下。 首先利用Select语句求出wh1仓库的仓库面积,然后再显示面积大于该值的仓库信息。 Select * from仓库 where 面积>(select 面积 from 仓库 where 仓库号=’wh1’) 嵌套查询中也可以带有逻辑运算符、谓词In、Like、Between…And结构。假设显示wh1或wh2仓库的工资不大于职工zg16工资的职工信息,

10、并要求职工姓名不含有“平”字。 首先利用Select语句求出职工zg16的工资,然后再对姓名进行模糊查询。 Select * from职工 where 工资<=(select 工资 from 职工 where 职工号=’zg16’) and 姓名 not like ‘%平%’ and 仓库号 in(‘wh1’, ‘wh2’) 10、多表嵌套查询:多表嵌套查询就是外层Select语句与内层Select语句来源于不同的表,但表之间要存在关系。这也是SQL语句中最重要的查询。下面以显示北京地区的职工信息为例来讲解一下。 首先利用Select语句求出北京地区的仓库号,然后利用仓库号再显示职

11、工信息。 use 企业销售管理系统 Select * from 职工 where 仓库号 in(select 仓库号 from where 城市=’北京’) 不仅可以实现两个表的嵌套,还可以实现多个表的嵌套,假设显示北京地区的职工的订购单信息。 首先利用Select语句得到北京地区的仓库号,然后利用得到的仓库号得到该仓库中的职工号,再利用得到的职工号得到职工的订购单信息。 Select * from 订购单 where 职工号 in(Select 职工号 from 职工 where 仓库号 in (select 仓库号 from 仓库where 城市=’北京’)) 多表嵌套

12、查询中也可以带有逻辑运算符、谓词In、Like、Between、And结构。假设显示北京地区的职工的订购单信息,并且职工的工资大于1200,订购日期为2003年9月3日~2006年1月1日。 Select * from 订购单 where 职工号 in(Select 职工号 from 职工 where 工资>1200 and仓库号 in(select 仓库号 from 仓库where 城市=’北京’))and 订购日期 between ‘2003-09-03’ and ‘2006-01-01’ 11、单级排序查询:排序的关键字是Order by,默认状态下是升序,关键字是Asc。降序排

13、列的关键字是Desc。排序字段可以是数值型,也可以是字符型、日期时间型。下面以按工资从高到低显示职工信息为例来讲解一下。 Select * from 职工Order by 工资 desc 在排序查询中还可以带有逻辑运算符、谓词In、Like、Between、And结构。假设显示wh1或wh2仓库的,工资不大于职工zg16工资的职工信息,并要求职工姓名不含有“平”字,按工资从低到高显示。 首先利用Select语句求出职工zg16的工资,然后再对姓名进行模糊查询,最后再排序。 Select * from 职工 where 工资<=(Select 工资 from 职工 where 职工号=

14、’zg16’) and 姓名 not like ‘%平%’ and仓库号 in (‘wh1’,’wh2’) Order by工资 12、多级排序查询:按照一列进行排序后,如果该列有重复的记录值,则重复记录值这部分就没有进行有效的排序,这就需要再附加一个字段,作为第二次排序的标准,对没有排开的记录进行再排列。下面以按工资从高到低显示职工信息为例来讲解一下。单级排序,按工资降序。 Select * from 职工Order by 工资 desc 多级排序,先按工资降序,再按职工ID升序。 Select * from 职工Order by 工资 desc,职工 ID asc    

15、    13、与别名一起使用的统计函数:在实际编程中,有时候需要知道所有记录某项值的总和、平均值、最大值等,这时就要用到统计函数查询。常用的统计函数共有6个。 统 计 函 数 及 其 意 义 统计函数 含 义 COUNT(*) 统计选择的记录的个数 COUNT() 统计特定列中值的个数 SUM() 计算总和(必须是数值型字段) AVG() 计算平均值(必须是数值型字段) MAX() 确定最大值 NIN() 确定最小值 在使用统计函数时,还要注意COUNT()、SUM()、AVG()可以使用DISTINCT关键字,以在计算机中不包含重复的行。而对于MAX

16、)、MIN()、COUNT(*),由于不会改变其结果,因此没有必要使用DISTINCT。 利用SELECT语句显示统计值是没有列名的,下面以显示职工的最大值、最小值、工资总和、平均工资、职工人数为例来讲解一下。 Select max(工资),min(工资), SUM(工资),avg(工资),count(*) from 职工 这时会发现统计值没有列名,现在来给统计字段添加列名。 Select max(工资)as 最大工资,min(工资) as最小工资, SUM(工资)as 工资总和,avg(工资)as 平均工资,count(*) as 职工人数from 职工 在统计函数中还

17、可以加条件,假设显示工资大于1500的职工的最大值、最小值、工资总和、平均工资、职工人数信息。 Select max(工资)as 最大工资,min(工资) as最小工资, SUM(工资)as 工资总和,avg(工资)as 平均工资,count(*) as 职工人数from 职工 where 工资>1500 14、带有统计函数的嵌套查询:还可以利用统计函数得到的数据作为Select查询语句的条件进行查询。下面以显示工资大于所有职工平均值的职工信息为例来讲解一下。 Select * from 职工where 工资>(select avg(工资) from 职工) 在统计函数查询

18、中可以带有比较运算符、逻辑运算符、In、Between…And等。假设显示工资大于wh1或wh2仓库中职工平均工资,并且职工姓名不含有“亮”字的职工信息。 Select * from 职工where 工资>(select avg(工资) from 职工 where 仓库号==’wh1’ or仓库号==’wh2’) and 姓名 not like ‘%亮%’ 15、统计函数字段显示在表字段中及运算字段:如果在职工表中添加一个职工平均工资值字段,这就对实际编程有很大的意义,即可以利用平均字段进行运算,大大提高编程速度。下面以在职工表中添加平均工资为例为讲解一下。 Select 职工.*

19、select avg(工资) from 职工) as 平均工资 from 职工 在职工表中添加了一个平均工资字段,即在SELECT查询字段中添加了一个SELECT子查询。 在SELECT查询中,还可以计算出每名职工的工资与所有职工平均工资之差,具体操作如下: Select 职工.*,(select avg(工资) from 职工) as 平均工资,工资-(select avg(工资) from 职工) as 平均工资的差 from 职工 16、分组查询:使用GROUPBY分组查询,要注意分组的标准一定要有意义,如显示不同仓库的平均工资,显示不同职工的最大订单金额等。如果显示不同

20、职工的平均工资那就没有意义了。下面显示不同仓库的平均工资、工资和、最大工资、最小工资、工资人数信息为例来讲解一下。 Select 仓库号,max(工资)as 最大工资, min(工资)as 最小工资, sum(工资)as 工资总和, avg(工资)as 平均工资, count(*)as 职工人数 from 职工 group by 仓库号 在分组查询中还可以带有逻辑运算符、谓词In、Like、Between…And结构。假设显示工资大于zg1职工工资的不同仓库的平均工资、工资和、最大工资、最小工资、工资人数信息。 首先利用SELECT语句求出职工zg1的工资,然后再分组显示统计信息。 S

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

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

23、工资)as 平均工资, count(*)as 职工人数 from 职工group by 仓库号having avg(工资)>1760 and max(工资)-min(工资) between 380 and 800 18、带有分组的嵌套查询:还可以利用分组得到的数据作为SELECT查询语句的条件进行查询。下面以显示职工所在仓库的最大工资与最小工资之差在380~800之间的职工所在仓库信息为例为讲解一下。 先求出职工所在仓库的最大工资与最小工资之差在380~800之间的职工所在的仓库号,再利用这个仓库号显示仓库信息。 Select * from 仓库,where 仓库号 in(Selec

24、t 仓库号 from职工group by 仓库号having d max(工资)-min(工资) between 380 and 800 19、内外层嵌套实现分组功能:利用group by分组显示统计字段信息,有很多字段不能显示。如显示不同仓库的平均工资信息,在这个查询中只能显示仓库号,不能显示职工号及职工的工资。因为不同仓库的平均工资,有几个仓库就显示几条平均工资,而每个仓库中的职工则有很多。 下面以显示不同职工经手订购单金额最大的订单信息为例来讲解一下。 在这里应该边求出每名职工订购单金额的最大值,边显示该职工所对应的这条订购单信息。具体代码如下: Select a.* fro

25、m 订购单 a where 金额=( select max(金额) from 订购单 where 职工号=a.职工号) 注意:上面语句中的订购单 a是给这个订购单起的一个别名,大家可以把它看成就其实就是订购单的一张复制的表,在这里运用它只是为了使内外层的嵌套更清晰、更容易理解。 20、分组查询字段显示在表字段中及运算字段:如果在职工表中添加职工所在仓库的平均工资值字段,这就对实际编程有很大的意义,即可以利用平均字段进行运算,大大提高编程速度。下面以在职工表中添加职工所在的仓库的平均工资字段为例来讲解一下。 Select a.* ,(Select avg(工资) from 职工 whe

26、re 仓库号=a.仓库号) as 所在仓库的平均工资 from 职工 a 在Select查询中,还可以计算出每名职工的工资与职工所在仓库的平均工资之差,具体操作如下: Select a.* ,(Select avg(工资) from 职工 where 仓库号=a.仓库号) as 所在仓库的平均工资,工资-(Select avg(工资) from 职工 where 仓库号=a.仓库号) as 所在仓库的平均工资之差 from 职工 a 21、Exists谓词查询:其实In就是谓词查询,还有谓词Exists与Exists,这两个谓词实现的功能是相同的,只是写法不同。In多用于嵌套子查询语

27、句中,而Exists多用于判断Select语句是否返回查询结果。常用量词有Any、All和Some是同义词。在进行比较运算时,只要子查询中有一行能使结果为真,结果就为真。而All则要求子查询中所有行都使结果为真时,结果才为真。下面以显示那些仓库中还没有职工的仓库信息为例,讲解一下In谓词与Exists谓词在代码上的不同。 用Exists谓词实现: Select * from 仓库 where not Exists(Select * from职工 where仓库号=仓库.仓库号) 用In谓词实现: Select * from 仓库 where 仓库号not in(Select仓库号fro

28、m职工) 22、Any量词查询:Any量词查询,在进行比较运算时,只要子查询中有一行能使结果为真,则结果即为真。下面就以显示工资大于等于wh2仓库中任一名职工工资的职工信息为例,讲解一下Any量词的应用。 用Any量词实现: Select * from 职工 where 工资>=any(Select 工资 from职工 where仓库号=’wh2’) 使用统计函数实现: Select * from 职工 where 工资>=(Select min(工资)from职工 where仓库号=’wh2’) 23、All量词查询:All量词查询,要求子查询中所有行都使结果为真时,结果

29、才为真。下面就以显示工资大于等于wh1仓库中所有职工工资的职工信息为例,讲解一下All量词的应用。 用Any量词实现: Select * from 职工 where 工资>=All(Select 工资 from职工 where仓库号=’wh1’) 使用统计函数实现: Select * from 职工 where 工资>=(Select MAX(工资)from职工 where仓库号=’wh1’) 前面讲解的量词查询都可以用统计函数代替,但有些查询是不能用统计函数代替的。下面以显示工资大于所有不同仓库的平均工资的职工信息为例为讲解一下。 Select * from 职工 where

30、 工资>all(Select avg(工资)from职工 group by仓库号) 该题用统计函数就无法解决。 24、显示部分记录的Top查询:在编程中,有时只需显示满足条件的前几条记录,这时就可以使用Top关键字。可以直接使用Top数字,显示指定条数记录;也可以使用Top数字Percent,显示所有满足条件记录的前百分之几条记录。 下面以显示工资最高的前三条职工信息为例来讲解一下。 Select top3 * from 职工 order by工资 desc 25、保存查询:利用Into语句可以把查询的结果保存成一张新表。下面就以备份“职工”表为例讲解一下保存查询。 Use

31、 企业销售管理系统 Select * into 职工备份 from职工 这样就生成一张新表,表名为“职工备份”。 26、集合的并运算:SQL支持集合的并运算(Union),即可以将两个Selec语句的查询结果通过并运算合并成一个查询结果。为了进行并运算,要求这样的两个查询结果具有相同的字段个数,并且对应的字段的值要出自同一个值域,即具有相同的数据类型和取值范围。 Select * from 仓库where 城市=’北京’ Union Select * from 仓库where 城市=’上海’ 27、集合的交运算:SQL支持集合的交运算(Intersect),即可以将两个S

32、elec语句的查询结果通过交运算合并成一个查询结果。为了进行交运算,要求这样的两个查询结果具有相同的字段个数,并且对应的字段的值要出自同一个值域,即具有相同的数据类型和取值范围。 Select 仓库号 from 仓库 Intersect Select 仓库号from 职工 注意它们对集合的差运算不支持。 28、多表连接查询:多表连接查询就是将多个表中的数据结合到一起的查询,即连接操作可以在一个Select语句中完成从我个表中查找和处理数据。使用连接的列必须是可连接的,即它们具有相同的数据类型、相同的意义。使用连接的列,列名可以相同,也可以不同。 29、笛卡儿积:有的时候,如

33、果连接条件没有设置好,或者没有设置连接条件,则结果将包含太多的行,这就是由笛卡儿积造成的。从原理上来讲,连接首先将形成表的笛卡儿积,即形成用于连接的表中所有的行的组合。下面以仓库表与职工表连接为例为讲解一下。 Select * from 职工, 仓库 这是从两张表中显示所有字段,所以字段有重复,并且产生了90条记录,原因是仓库表中有5条记录,职工表有18条记录,所以连接的结果是18×5=90条记录。用于连接的表越多,则笛卡儿积的结果将越大。 30、多表连接:在进行多表连接时,一定要注意连接条件,下面以仓库表与职工表连接为例来讲解一下多表连接。 Select * from 职工,

34、仓库 where 职工.仓库号=仓库.仓库号 这时显示的记录就没有那么多了,只显示18条记录,并且发现两张表的仓库号是相对应的。 假设显示工资大于1500,面积大于600的城市与姓名信息。 Select 城市,姓名 * from 职工,仓库 where 职工.仓库号=仓库.仓库号 and 工资工资>1500 and 面积>600 31、超连接查询:超连接查询也是连接查询,所以必须有两张或两张以上的表。超连接查询共有4种:内连接查询、左连接查询、右连接查询、全连接查询。使用超连接查询不仅可以把满足条件的记录显示出来,还可以把一部分不满足条件的记录以NULL显示出来。 1)内连接查询

35、只有满足连接条件的记录才出现在查询结果集中。下面以显示面积大于600的仓库号、职工号、城市、面积、工资信息为例为讲解一下内连接: 超连接: Select 仓库.仓库号,职工号,城市,面积,工资 from 仓库 inner join 职工 on 职工.仓库号=仓库.仓库号 and 面积>600 普通连接: Select 仓库.仓库号,职工号,城市,面积,工资 from 职工,仓库 where 职工.仓库号=仓库.仓库号 and 面积>600 2)左连接查询:除满足连接条件的记录显示外,第一张表中不满足条件的记录也出现在查询结果集中。下面以显示面积大于600的仓库号、职工号、城市、面积

36、工资信息为例为讲解一下左连接。 Select 仓库.仓库号,职工号,城市,面积,工资 from 仓库 left join 职工 on 职工.仓库号=仓库.仓库号 and 面积>600     3)右连接查询:除满足连接条件的记录显示外,第二张表中不满足条件的记录也出现 在查询结果集中。下面以显示面积大于600的仓库号、职工号、城市、面积、工资信息为例为讲解一下右连接。 Select 仓库.仓库号,职工号,城市,面积,工资 from 仓库 right join 职工 on 职工.仓库号=仓库.仓库号 and 面积>600 4)全连接查询:除满足连接条件的记录显示外,两张表中不满足条件

37、的记录也出现 在查询结果集中。下面以显示面积大于600的仓库号、职工号、城市、面积、工资信息为例为讲解一下全连接。 Select 仓库.仓库号,职工号,城市,面积,工资 from 仓库 full join 职工 on 职工.仓库号=仓库.仓库号 and 面积>600 5)多表超连接查询:前面讲解了两个表的超连接,那么如果是3张表或更多张表该如何实现超链接呢?下面以显示面积大于600的仓库号、职工号、城市、面积、工资、金额信息为例为讲解一下多表超连接。要显示的字段信息来源于3张表,仓库表、职工表、订购单表,这里实现仓库表与职工表的左连接,职工表与订购单表的右连接。 Select 仓库.仓

38、库号,职工号,城市,面积,工资,金额 from 仓库left join 职工 on 职工.仓库号=仓库.仓库号right join 订购单 on 职工.职工号=订购单.职工号 and 面积>600 32、Insert插入语句:向数据库表中插入数据是最常用的功能: 1)指定所有列: Insert into 仓库(仓库号,城市,面积,创建时间) values (‘wh6’,’郑州’,’800’,’2005-12-01’) 按下键盘上的F5键,会显示(1行受影响),这表示已成功地插入一条记录。再在数据库引擎查询文档中输入“Select * from 仓库”,然后按下键盘上的F5键,就可以

39、执行该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 仓库(

40、仓库号,城市,面积,创建时间) values (‘wh7’,null,800,nul) 3)带有子查询的插入语句:使用带有子查询的插入语句,首先要注意两个表的结构相同。下面还是用一个实例来讲解一下。 首先创建一张与仓库表结构相同的空表,然后在数据库引擎查询文档中输入如下代码: Select * into 仓库 blank from 仓库 where 面积<0 按下键盘上的F5键,会显示(0行受影响),这表示已成功地插入一条记录。再在数据库引擎查询文档中输入“Select * from 仓库 blank”,然后按下键盘上的F5键,就可以执行该SQL语句,这样就产生了一张与仓库表结构相

41、同的空表。 下面就可以利用带有子查询的插入语句向仓库blank中插入记录了。 Insert into 仓库 blank(仓库号,城市,面积,创建时间) select 仓库号,城市,面积,创建时间from 仓库where 面积>600 按下键盘上的F5键,会显示(6行受影响),这表示已成功地插入6行记录。再在数据库引擎查询文档中输入“Select * from 仓库 blank”,然后按下键盘上的F5键,就可以执行该SQL语句,这样就可以利用Insert语句一次向表中插入多条记录。 33、Update更新语句:向数据库表中添加记录后,可能需要对数据库进行修改。 1)修改所有记录:

42、 下面以为所有仓库的面积都增加100为例为讲解一个修改所有记录。 Update 仓库 set 面积=面积+100 2)指定条件的更新语句: 下面以把城市在上海或北京的仓库的面积增加100为例,来讲解一下指定条件的更新语句。 Use 企业销售管理系统 Update 仓库 set 面积=面积+100 where 城市=’上海’ or城市=’北京’ 34、Delete删除语句:与添加记录一样,删除记录也是数据库中一个重要的功能。 Delete语句仅仅删除数据库表中的记录,不会删除表。 Delete语句不能删除单个列的值,而是删除整个记录。 关键字WHERE可以有,也可以没有。如

43、果不加条件,则删除整张表的所有记录;如果有条件,则删除表中满足条件的记录。 1)指定条件的删除语句: 下面以删除仓库blank表中仓库面积大于900的记录为例,来讲解一下指定条件的删除语句。 Delete from仓库 blank 面积>900 2)删除表中所有记录: 下面以删除仓库blank表中所有记录为例,来讲解一下删除表中所有记录。 Delete from仓库 blank 或 truncate from仓库 blank truncate语句与Delete语句之间是有区别的,Delete语句实际上是对表中每一个记录执行删除操作,而数据库执行随之可能产生的所有任务,如触发器;truncate语句仅仅把所有记录一次删除,将会忽略定义的触发器,因此执行速度比Delete语句要快。由于truncate语句不处理删除引起的其他事件,因此使用它可能产生数据库完整性问题,所以对于有依赖关系的表,最好使用Delete语句删除。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服