1、 1数据库的简单查询过滤查询结果记录过滤查询结果记录3无条件查询单一表无条件查询单一表 2SELECT查询概述查询概述 1条件查询筛选数据行条件查询筛选数据行 4 2 本章学本章学习目标习目标l掌握掌握SELECTSELECT语句结构语句结构l熟练使用熟练使用SELECTSELECT语句查询数据语句查询数据 3查询(Query)又称为检索,是数据库最核心、最基本的操作之一。查询操作用来从数据表或视图中迅捷地搜索并提取所需数据。查询的概念查询的概念 4查询得到的数据称为查询结果数据集,简称查询数据集。查询数据集只是一个虚拟表,按照表的形式组织并显示出来,通常不被存储,也不会被放在缓冲区中,每次查
2、询都会重新从数据表中提取。查询数据集中的数据可以进一步进行计算、统计、汇总及分析,最终按用户的需求组织输出。查询数据集查询数据集 5查询命令运行原理查询命令运行原理 6SELECTSELECT语句的基本语法格式如下:语句的基本语法格式如下:SELECT ALL|DISTINCT TOP()PERCENT INTO FROM ,.n WHERE GROUP BY HAVING ORDER BY ASC|DESC COMPUTE 聚合函数(),.n BY ,.n ;SELECTSELECT查询语句查询语句 7目标项列表的作用是指定查询结果数据集中包含的各个数据项表达式。目标项列表表达展开范式如下:
3、*|$IDENTITY|$ROWGUID|(参数 ,.n )|AS|=,.n 查询的目标项列表查询的目标项列表 8数据库的简单查询过滤查询结果记录过滤查询结果记录3无条件查询单一表无条件查询单一表 2SELECT查询概述查询概述 1条件查询筛选数据行条件查询筛选数据行 4 9无条件查询单一表是指查询操作仅限于对一个数据表进行,并且不使用条件查询子句筛选记录。无条件查询单一表的概念无条件查询单一表的概念 10可以通过指定要检索的列名。查询的结果数据列表是独立的数据显示,对源表中的数据没有任意影响。中的列名顺序并不需要完全遵照源表中列的排列次序,用户可以根据需要自由调整列的显示顺序。查询数据表的指
4、定列查询数据表的指定列 11实现按照表原有的列的次序显示表的所有数据有以下两种方法:在中按源表中各列名的排列顺序包含表的所有列名;使用星号(*)来简化的表达。查询表的所有列查询表的所有列 12中可以包含常量、变量及用户定义的表达式。系统执行查询时,将先计算这类非列名的数据项的值,然后在查询结果列表中显示其值。对于中的字符串常量与日期时间常量,需要用一对英文单引号将常量值括起来。目标项中使用常量目标项中使用常量 13目标项列表中可以包含函数及由运算符连接的各类表达式。当查询语句带有函数或表达式时,通常使用列别名机制来改善显示效果。目标项中的函数或表达式目标项中的函数或表达式 14可以在SELEC
5、T语句中为某些列定义一个更有意义的别名,使得在查询结果中以该列的别名做为列标题显示相应数据。列别名是一串具有语义的字符,可以包含汉字。列别名列别名的概述的概述 15为某个表达式项定义列别名的子句格式为:AS 列别名或让它直接出现在中,即简化为如下格式:列别名列别名列别名的定义格式的定义格式 16列别名通常作为字符串,可以将列别名放入一对中括号()或一对英文单引号()中,指明列别名为字符串类型。也可以对列别名不用字符串标识符,让它直接出现在中。列别名列别名的用法的用法 17使用使用=定义表达式的列别名定义表达式的列别名通过使用赋值号(即等于号=)将列名或表达式赋予列别名的方法来实现。使用赋值号为
6、某个表达式定义列别名的语法格式为:列别名=18数据库的简单查询过滤查询结果记录过滤查询结果记录3无条件查询单一表无条件查询单一表 2SELECT查询概述查询概述 1条件查询筛选数据行条件查询筛选数据行 4 19用SELECT语句检索表中部分字段列值数据时,可能会造成在查询结果集中包含多条重复的记录行。可通过选用ALL或DISTINCT选项关键字对这些重复行进行保留或消除的处理操作。保留或过滤相同数据行保留或过滤相同数据行 20SELECT语句中使用ALL关键字,可显示检索到的所有行,无论这些行的数据相同与否。ALL关键字是SELECT语句的默认选项。保留重复行保留重复行的方法的方法 21SEL
7、ECT语句中使用DISTINCT关键字,可从检索到的数据行去除重复的记录。相同的记录在结果集中只保留第一条,从而保证记录的唯一性。过滤重复行过滤重复行的方法的方法 22SELECT语句还可以使用TOP及PERCENT关键字,从查询结果集中选择由指定的前若干行或前百分比数目的行。语法格式如下:SELECT ALL|DISTINCT TOP()PERCENT 选定相邻若干数据行选定相邻若干数据行 23过滤查询结果记录过滤查询结果记录3无条件查询单一表无条件查询单一表 2SELECT查询概述查询概述 1数据库的简单查询条件查询筛选数据行条件查询筛选数据行 4 24可以通过SELECT语句的WHERE
8、子句构造记录的筛选条件,选择出满足条件的部分记录,组成查询数据集,从而避免检索出数据表中所有的数据行,这就是条件查询。条件查询的概念条件查询的概念 25WHEREWHERE子句的格式子句的格式WHERE子句一般放在FROM子句后面。基本语法格式如下:SELECT FROM WHERE 26WHEREWHERE子句的运算符子句的运算符运算符类型运算符作用与意义比比较运算符运算符=,!=,=,!,=,!比比较两个两个值的大小的大小范范围运算符运算符BETWEEN AND,NOT BETWEEN AND判断判断值是否在范是否在范围内内集合运算符集合运算符IN,NOT IN判断判断值是否在列表集合中是
9、否在列表集合中空空值运算符运算符IS NULL,IS NOT NULL测试字段是否字段是否为空空值字符匹配运算符字符匹配运算符LIKE,NOT LIKE用于模糊用于模糊查询逻辑运算符运算符AND,OR,NOT用来构造多重复合条件用来构造多重复合条件 27简单查询通过在查询条件表达式中使用比较运算符、范围运算符、集合运算符及空值运算符,构造出检索条件,完成查询数据集的生成。简单查询简单查询 28比较运算符是搜索条件中最常使用的一类运算符,主要用于对两个表达式的比较运算。语法格式为:比较运算符 比较运算符构造查询条件比较运算符构造查询条件 29范围运算符BETWEEN AND与NOT BETWEE
10、N AND用来限制查询数据的范围。使用BETWEEN AND运算符的条件表达式语法格式如下:WHERE BETWEEN 取值范围下限 AND 取值范围上限范围运算符构造查询条件范围运算符构造查询条件 30集合运算符IN与NOT IN也可用来限制查询数据的范围。使用集合运算符的条件表达式语法格式如下:WHERE NOT IN(值1,值2,值n)集合运算符构造查询条件集合运算符构造查询条件 31模糊查询是指在一些只针对字符模糊查询是指在一些只针对字符型数据或日期时间型数据进行查型数据或日期时间型数据进行查询的应用中,无法给出精确的检询的应用中,无法给出精确的检索条件,只能提供一些并不完全索条件,只
11、能提供一些并不完全确定的线索来搜索信息。确定的线索来搜索信息。模糊查询的概念模糊查询的概念 32用用LIKELIKE或或NOT LIKENOT LIKE关键字可以构造特关键字可以构造特殊的条件表达式,用于检索与特定殊的条件表达式,用于检索与特定字符串匹配的字符型或日期时间型字符串匹配的字符型或日期时间型数据。模糊查询的条件表达式语法数据。模糊查询的条件表达式语法格式如下:格式如下:匹配表达式匹配表达式 NOT LIKE NOT LIKE 实现模糊查询的关键字实现模糊查询的关键字 33用于匹配模式串的通配符用于匹配模式串的通配符通配符通配符符号描述符号描述通配符表示的通配符表示的对象象示例示例(
12、假定假定查询的的为Readers表表)%百分号百分号代表零个或多个任意字符串代表零个或多个任意字符串姓名姓名 LIKE 刘刘%,查询姓刘的所有姓刘的所有记录姓名姓名 LIKE%小小%,查询所有姓名中所有姓名中含含“小小”字的字的记录_下划下划线代表一个任意字符,一个代表一个任意字符,一个汉字要字要对应两个下划两个下划线姓名姓名 LIKE 徐徐_,查询姓徐且名姓徐且名为单字的所有字的所有记录 方括号表示集方括号表示集合或范合或范围代表方括号中列出的或属于代表方括号中列出的或属于指定范指定范围内的任何内的任何单一字一字符符姓名姓名 LIKE 赵孙李李%,查询姓姓赵、孙或李的所有或李的所有记录括在方
13、括号中括在方括号中的的代表不在方括号中列出或不代表不在方括号中列出或不属于指定范属于指定范围内的任何内的任何单一字符一字符姓名姓名 LIKE 马%,查询不姓不姓马的所的所有有记录 34复合条件查询是指在复合条件查询是指在WHEREWHERE子句子句中使用逻辑运算符将两个或两个中使用逻辑运算符将两个或两个以上的条件表达式组合起来,构以上的条件表达式组合起来,构成综合检索条件,完成更为复杂成综合检索条件,完成更为复杂的查询任务。的查询任务。复合条件查询的概念复合条件查询的概念 35复合条件中可以使用的逻辑运算符包括:复合条件中可以使用的逻辑运算符包括:NOT:NOT对一个条件表达式进行逻辑非运算;
14、AND:连接两个条件表达式,完成逻辑与运算;OR 连接两个条件表达式,完成逻辑或运算。逻辑运算符逻辑运算符 36逻辑运算符的真值表逻辑运算符的真值表X=TRUE,Y=TRUEX=TRUE,Y=FALSEX=FALSE,Y=TRUEX=FALSE,Y=FALSEX AND YTRUEFALSEFALSEFALSEX OR YTRUETRUETRUEFALSENOT YFALSETRUEFALSETRUE 379.1 SELECT9.1 SELECT语句结构语句结构SELECT在SQL语言中,是使用频率最高的语句,它具有强大的查询功能。SELECT是SQL语言的灵魂。SELECT语句的作用是让数据
15、库服务器根据客户端的要求搜寻出用户所需要的信息资料,并按用户规定的格式进行整理后返回给客户端。SELECT语句除可以查看普通数据库中的表格和视图的信息外,还可以查看SQL Server的系统信息。38SELECTSELECT语句的语法格式如下:语句的语法格式如下:SELECT select_list INTO new_table_name FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC|DESC
16、39其中:其中:select_list 指明要查询的选择列表。INTO new_table_name 指定用查询的结果创建成一个新表。new_table_name为新表名称。FROM table_source 指定所查询的表或视图的名称。WHERE search_condition 指明查询所要满足的条件。GROUP BY group_by_expression 根据指定列中的值对结果集进行分组。HAVING search_condition 对 用 FROM、WHERE或GROUP BY子句创建的中间结果集进行行的筛选。它通常与GROUP BY子句一起使用。ORDER BY order_expression ASC|DESC 对查询结果集中的行重新排序。ASC 和DESC关键字分别用于指定按升序或降序排序。如果省略ASC或DESC,则系统默认为升序。405.2 5.2 使用使用SELECTSELECT语句查询数据语句查询数据5.2.1 使用使用SELECT子句子句SELECT子句的语法为子句的语法为:SELECT ALL|DISTINCT TOP n PERCENT WITH TIE
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1