版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
4.1SQL-select语句4.1.1无条件查询语句格式:select[allIdistinct]<列名表>from<表>功能:无条件查询。说明:(1)all:表示显示全部查询记录,包括重复记录。(2)distinct:表示显示无重复结果的记录。4.1.2带条件的查询语句格式:select[all|distinct]<字段列表>from<表>[where<条件表达式>]功能:从一个表中查询满足条件的数据。返回下一页4.1SQL-select语句说明:(1)<条件表达式>由一系列用and或or连接的条件表达式组成,条件表达式的格式可以是以下几种。①<字段名1><关系运算符><字段名2>②<字段名><关系运算符><表达式>③<字段名><关系运算符>all<子查询>)④<字段名><关系运算符>anyIsome(<子查询>)⑤<字段名>[not]between<起始值>and<终止值>⑥[not]exists(<子查询>)⑦<字段名>[not]in<值表>上一页下一页返回4.1SQL-select语句⑧<字段名>[not]in(<子查询>)⑨<字段名>[not]like<字符表达式>sql支持的关系运算符如下:=、<>、!=、#、==、>、>=、<、<=(2)between…and…:意为“…和…之间”(3)life:是字符串匹配运算符,通配符“%”表示0个或多个字符,“_”表示一个字符。(4)any,all和some:为量词,exists和,notexists为谓词(参阅4.1.11节)。(5)in:相当于集合运算符E,一般用于子查询。上一页下一页返回4.1SQL-select语句4.1.3简单的连接查询格式:select[all|distinct]<列名表>from<表1>[,<表2>...]where<条件表达式>说明:在一个数据库中的多个表之间一般都存在着某些联系,在一个查询语句中同时涉及两个或两个以上的表时,这种查询称之为连接查询(也称为多表查询)。在多表之间查询必须处理表与表之间的连接关系-4.1.4嵌套查询在SQL语句中,一个select-from-where语句称为一个查询。块将一个查询块嵌套在另一个查询块的where子句或ha而y短语的条件中的查询称为嵌套查询或子查询。上一页下一页返回4.1SQL-select语句4.1.5排序查询格式:select[all|distinct]<列名表>from<表>where<条件>orderby<排序项>[asc|desc]功能:将查询结果按指定排序项进行升序(asc)或降序(desc)排列,由orderby子句指明。说明:(1)可按升序或降序排序,允许按一列或多列排序。(2)orderby对最终的查询结果进行排序,不能在子查询中使用此短语;省略asc和desc时,按升序进行排序。上一页下一页返回4.1SQL-select语句4.1.6简单的计算查询SQL不但具有一般的检索能力,而且还有计算方式的检索用于计算检索的函数有如下几种。(1)count(*):计数。(2)sum():求和。(3)avg():计算平均值。(4)max():求最大值。(5)min():求最小值。上面的函数可用在select短语中对查询结果进行计算,*表示指定所有的字段。上一页下一页返回4.1SQL-select语句4.1.7分组与计算查询格式:select[allIdistinct]<字段列表>from<表>where<条件>[groupby<分组表达式>…][having<过滤条件>]功能:利用group子句进行分组计算查询。说明:(1)可按一列或多列分组,还可以用having进一步限定分组的条件。(2)groupby子句一般跟在where子句之后,没有where子句时,跟在from子句之后;having子句必须跟在groupby之后,不能单独使用在查询中是先用where子句限定元组,然后进行分组,最后再用having子句限定分组。上一页下一页返回4.1SQL-select语句4.1.8使用空值进行查询空值就是缺值或还没有确定值,不能把它理解为任何意义的数据。比如表示价格的一个字段值,空值表示没有定价,而数值n可能表示免费。空值与空(或空白)字符串、数值n等具有不同的含义。SQL支持空值,因此,SQL当然也可以使用空值进行查询。需要特别说明的有3点,一是在定义数据表的结构时,应说明某个字段是否允许空值,只有允许空值的字段才可以进行空值查询。二是在输入空值时,不是输入,lull,而是输入ctrl+0。三是在说明某个字段的值为空值时,不是使用“=null”,而是用“isnull”。上一页下一页返回4.1SQL-select语句4.1.9别名与自连接查询在连接操作中,要使用关系名作前缀,为简单起见,SQL允许在from短语中为关系名定义别名。格式:<关系名><别名>4.1.10内外层相关嵌套查询前面讨论的嵌套查询是外层查询依赖于内层查询的结果,而内层查询与外层查询无关。但有时也需要内、外层互相关的查询,这时内层查询的条件需要外层查询提供值,而外层查询的条件需要内层查询的结果。上一页下一页返回4.1SQL-select语句4.1.11用量词和谓词的查询前面已学过[not]in运算符,此处还有两种与子查询相关的运算符。格式1;<表达式><比较运算符>[any|allIsome](子查询)格式2;[not]exists(子查询)说明:(1)any,all和some:为量词,any和some是同义词,在进行比较运算时只要子查询中有一行能使结果为真,贝}l结果为真;all贝}l要求子查询中的所有行都使结果为真时,结果才为真。(2)exists:为谓词,exists和,notexists是用来检查在子查询中是否有结果返回,也就是存在记录或不存在记录。上一页下一页返回4.1SQL-select语句4.1.12超链接查询在两个表的超链接查询中,首先保证一个表中满足条件的记录都在结果中,然后将满足连接条件的记录与另一个表中的记录进行连接,不满足连接条件的则将来自另一个表的属性设置为空值。格式:select[all|distinct]<字段列表>from<表>innerIleftIrightIfulljoin<表>on<连接条件>where说明:(1)innerjoin:等价于join,在VFP中称为内部连接,显示两个表中相匹配的记录这是常用的默认方式。上一页下一页返回4.1SQL-select语句(2)rightjoin:右连接,显示右侧表所有记录以及左侧表中和右侧表匹配记录。(3)leftjoin:左连接,显示左侧表所有记录以及右侧表中和左侧表匹配的记录。(4)fulljoin:完全连接,显示两个表中所有的记录。即两个表中的记录不管是否满足连接条件将都在目标表或查询结果中出现,不满足连接条件的记录对应部分为null。4.1.13集合并运算可将两个select语句的查询结果通过并运算(union)合并成一个查询结果。上一页下一页返回4.1SQL-select语句为进行并运算,要求两个查询结果具有相同的字段个数,并且对应字段的值要出自同一值域,也就是具有相同的数据类型和取值范围。4.1.14VisualFoxpro中有关SQL-SELECT的几个特殊选项1.显示部分结果格式:topn[percent]功能:只显示满足条件的前几个记录。说明:(1)n是1至32767之间的整数,说明显示前几个记录。上一页下一页返回4.1SQL-select语句(2)当使用percent时,说明显示结果中前百分之几的记录。(3)通常与order子句连用。2.将结果存放在数组中格式:intoarray<数组名>3.将结果存放在临时文件中格式:intocursor<临时文件名>说明:临时表中一个只读的dbf文件,当查询结束后该临时文件是当前文件,可像一般的.dbf文件一样使用,当关闭文件时该文件将被自动删除。上一页下一页返回4.1SQL-select语句4.将结果存放在永久表中,通过该子句可实现表的复制。格式:intotable|dbf<表名>5.将结果存放到文本文件中格式:tofile<文本文件名>[additive]6.将结果直接输出到打印机格式:toprinter[prompt]上一页返回4.2数据修改功能1.插入格式1;insertinto<数据表名>[(字段名1[,字段名2,…])]values(表达式1[,表达式2...])功能:将一条指定字段值的记录追加到表尾。格式2;insertinto<数据表名>fromarray数组名Ifrommemvar功能:从指定的数组中插入记录值。说明:(1)未使用字段名指明,则values、中的表达式数目必须与表中的字段数相同,而且相应的数据类型必须一致。下一页返回4.2数据修改功能(2)表中设定了主索引,则插入记录时只能用该SQLinsert命令而不能使用append或insert命令。(3)注意插入数据的数据类型必须与表设计时的类型一致。2.更新格式:update<数据表名>set<字段名>=<字段改变值>[where<条件表达式>]说明:类似于replace命令通常嵌入在循环结构内,用另一个表的数据来修改本表。上一页下一页返回4.2数据修改功能3.删除格式:deletefrom<数据表名>[where<条件表达式>]说明:(1)类似于VFP的delete...for…命令。(2)若无where子句会删除表中的全部记录。(3)此命令为逻辑删除用pack命令进行物理删除。上一页返回4.3定义功能1.表的定义格式:createtable数据表名(字段名1字段类型(字段宽度[,小数位数])[null|notnull][check<条件>][error][default][primarykeyIunique[,字段名2…」)说明:(1)字段类型可参阅第2章。(2)[nullInotnull]指出该字段是否允许存放空值。(3)[primarykeyIunique]中的unique将字段按照其规定的顺序进行排列,如不指定排列顺序,贝}l按字段的定义顺序排列;primarykey用于指定表的主键。下一页返回4.3定义功能(4)[check<条件>]按指定条件对存入表中的数据进行检查,以确定其合法性,提高数据的安全性。(5)[error]用于指出用户输入数据时出错的提示信息。(6)[default]用于定义默认值。2.表的删除格式:droptable<数据表名>功能:直接从磁盘上删除指定的表。3.表结构的修改格式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医用电子仪器组装调试工发展趋势评优考核试卷含答案
- 矿用重型卡车轮胎换修工安全防护评优考核试卷含答案
- 井下胶轮车司机岗前基础效率考核试卷含答案
- 科技创新:引领社会腾飞-创新引领共创美好未来
- 民宿事业部全景展望-揭秘民宿服务运营与成就
- 数学千克换克题目及答案
- 当代教资面试题目及答案
- 公考行测题目真题及答案
- 【高中语文】《蜀相》课件+统编版高二语文选择性必修下册
- 新奥燃气2024工程类岗位面试题及参考答案
- 《海洋工程设计基础》课件-第二章 海洋平台载荷
- 我国城市流浪犬猫安置的现状与分析
- (2025年)地质实验测试师笔试试题及答案
- (2021-2025)五年高考英语真题分类汇编专题16 完形填空(10空和20空)(全国)(原卷版)
- T-ZZB 2691-2022 塔式起重机司机室
- 世界当代史(第3版)课件 第四章 冷战的缓和和局部战争
- 截桩头施工方案及安全规范
- 幼儿园小班数学《6以内个数的按数取物》课件
- 金融交易操盘手实战技能训练手册
- 清华最难的数学试卷
- 2024-2025学年广东省深圳市龙华区六年级下册期末英语检测试题(附答案)
评论
0/150
提交评论