版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模块五查询数据库表数据任务描述知识要点返回任务描述查询是数据库最核心、最基本的操作之一。查询操作用来从数据表或视图中迅速地搜索并提取所需数据。在数据库操作中,很大一部分工作是对数据进行统计与检索。查询功能是数据库操作的核心,通过T-SQL的查询功能可以从表或视图中迅速、方便地检索数据。任务1简单查询简单查询指涉及单个数据库表的数据查询。任务1.1选择表中的若干列任务1.1.1输出表中的所有列下一页返回任务描述查询“ebook”数据库中“Book”表的所有书籍信息。本任务要显示Book表中的所有书籍信息,意味着查询时没有限制条件。代码如下:将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.1所示。任务1.1.2输出表中的部分列查询Book表中书籍的部分信息,包括ISBN号、书名、作者和出版社。代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.2所示。任务1.1.3为结果集内的列指定别名在查询结果中,查询结果列的标题就是表的列名,如果需要将显示结果的列标题改为所需要的标题,可以使用列别名。检索Book表中书籍的isbn、bookName和author字段值,结果中各列的标题分别指定为ISBN、书籍名称、作者。上一页下一页返回任务描述本任务要求显示学生表中的部分列和所有行,有以下3种方法:方法一:使用“列名AS列别名”改变列标题实现任务需求的T-SQL代码如下:将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.3所示。方法二:使用“列名列别名”改变列标题实现任务需求的T-SQL代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.4所示。方法三:使用“列别名=列名”改变列标题实现任务需求的T-SQL代码如下:将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.5所示。上一页下一页返回任务描述任务1.1.4限制返回行数任务1.1.4.1查询订单表OrderInfo前5条记录的信息实现任务需求的T-SQL代码如下:将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.6所示。任务1.1.4.2查询订单表OrderInfo前10%的记录信息上一页下一页返回任务描述实现任务需求的T-SQL代码如下:将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.7所示。任务1.1.5消除取值重复的行查询Book表中书籍的出版社信息。代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.8所示。在图5.8中,书籍的出版社有重复,以下代码将消除取值重复的记录。将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.9所示。任务1.2选中表中的若干记录上一页下一页返回任务描述当需要从数据表中查询满足特定条件的记录时,可以在SELECT语句中使用WHERE子句。任务1.2.1使用比较运算符指定查询条件任务1.2.1.1查询《C语言程序设计》书籍的信息实现任务需求的T-SQL代码如下:将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.10所示。上一页下一页返回任务描述任务1.2.1.2查询价格低于30元的书籍信息实现任务需求的T-SQL代码如下:将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.11所示。任务1.2.1.3在Book表中,查询价格在30~40元之间的书籍信息实现任务需求的T-SQL代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.12所示。任务1.2.2使用范围运算符指定查询条件在Book表中,查询价格在30~40元之间的书籍信息。代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.13所示。任务1.2.3使用集合运算符指定查询条件查询清华大学出版社和高等教育出版社的书籍信息。代码如下:将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.14所示。上一页下一页返回任务描述提示:WHERE<列表达式>[NOT]IN(值1,值2,…,值n)任务1.2.4使用字符匹配运算符LIKE指定查询条件当不能给出精确的查询条件时,可以使用LIKE运算符实现模糊查询。任务1.2.4.1在Book表中查询书名以“英语”开头的书籍信息实现任务需求的T-SQL代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.15所示。任务1.2.4.2在Book表中查询作者姓名中第二个字是“学”的书籍信息实现任务需求的T-SQL代码如下:将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.16所示。上一页下一页返回任务描述提示:WHERE<列表达式>[NOT]LIKE′<匹配串>′[ESCAPE′<换码字符>′],<匹配串>可以是一个完整的字符串,也可以含有通配符“%”、“_”、“[]”和“[^]”。任务1.2.5使用空值运算符指定查询条件查询Book表中描述description字段值为空的书籍信息。代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.17所示。上述代码运行结果显示,没有查询到符合条件的记录。☞提示:WHERE[NOT]<列表达式>ISNULL任务1.2.6使用逻辑运算符指定多重查询条件查询Book表中高等教育出版社的《C语言程序设计》书籍的信息。代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.18所示。☞提示:WHERE[NOT]<逻辑表达式>AND|OR[NOT]<逻辑表达式>任务1.3对查询结果进行排序查询所有书籍的基本信息,按照价格降序排列。实现任务需求的T-SQL代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.19所示。提示:在SELECT语句中可以使用ORDERBY子句对查询结果按照指定字段进行排序。用法详见“知识要点”讲解。任务1.4对数据进行统计任务1.4.1查询OrderInfo表中订单总数实现任务需求的T-SQL代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.20所示。提示:在SELECT子句中使用集合函数COUNT()、MAX()、MIN()、AVG()、SUM()可以对查询结果进行统计计算。任务1.4.2统计Book表中各出版社的书籍数量实现任务需求的T-SQL代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.21所示。任务1.4.3统计购买图书数量大于3本的订单号实现任务需求的T-SQL代码如下:将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.22所示。上一页下一页返回任务描述提示:在SELECT语句中可以使用GROUPBY子句对查询结果进行分组统计,使用HAVING子句按照一定的条件对分组后的数据进行筛选。任务1.4.4按图书类别统计图书数量并显示各类图书详细信息实现任务需求的T-SQL代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.23所示。上述代码运行结果显示,Book表中数据按bookTypeId分组后,既显示各组的详细记录,又显示每组的汇总记录。提示:在SELECT语句中可以使用COMPUTE(BY)子句对查询结果进行(分组)汇总统计,并显示参与汇总统计的详细记录。COMPUTE子句中的BY选项必须与ORDERBY子句一起使用。任务1.5使用查询结果生成新表上一页下一页返回任务描述查询OrderInfo表中未发货的订单信息,并将查询结果保存到新的数据表Order1中。实现任务需求的T-SQL代码如下:将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.24所示。上一页下一页返回任务描述上述代码运行结果显示,新表Order1中包含2行记录。在ebook数据库中可以查看到生成的新表Order1及其数据记录,如图5.25所示。任务2连接查询任务2.1交叉连接(CROSSJOIN)查询交叉连接OrderInfo表和OrderDetail表,查看连接查询结果。实现任务需求的T-SQL代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.26所示。交叉连接即两个表的笛卡尔积,又称为非限制连接,没有连接条件,返回结果是由第一个表的每行与第二个表的所有行组合形成。因此,查询结果的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。由上述代码运行结果可以看到,OrderInfo表有3行记录,OrderDetail表有6行记录,因此,两表做交叉连接后共有18行记录。任务2.2等值与非等值连接查询上一页下一页返回任务描述任务2.2.1等值连接OrderInfo表和OrderDetail表,查看连接查询结果实现任务需求的T-SQL代码如下:将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.27所示。上一页下一页返回任务描述提示:等值连接为内连接(INNERJOIN),连接类型关键字INNER可以省略。等值连接条件为ONOrderInfo.orderId=OrderDetail.orderId,对比任务2.1中两个表交叉连接的查询结果,等值连接只拼接满足连接条件的记录到结果集中。连接查询中连接条件的一般格式为:<表名1>.<列名><比较运算符><表名2>.<列名>,比较运算符主要有=、>、<、>=、<=、!=。当比较运算符为“=”时,称为等值连接;当为其他运算符时,称为非等值连接。上一页下一页返回任务描述任务2.2.2从Book表和BookType表中查询清华大学出版社书籍的isbn、bookName、author、publisher、price、bookTypeId、bookTypeName方法一:在From子句中指定连接条件实现任务需求的T-SQL代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.28所示。提示:对于Book表和BookType表中重复的“bookTypeId”字段,在输出时须在字段前面加上“表名.”,指明字段来自哪个表。对于不重复的字段,在输出时,可以加“表名.”限定,也可以不加。在查询结果中去掉重复列的等值连接称为自然连接。方法二:在Where子句中指定连接条件实现任务需求的T-SQL代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.29所示。提示:WHERE子句中既有查询条件publisher=′清华大学出版社′,又有连接条件Book.bookTypeId=BookType.bookTypeId。任务2.2.3统计各订单的订单总额,并输出订单的联系人和联系电话实现任务需求的T-SQL代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.30所示。☞提示:①本任务中实现了三个表的等值连接查询。上一页下一页返回任务描述②当使用GROUPBY子句进行分组统计时,SELECT子句的列名必须是GROUPBY子句已有的列名或是计算列。任务2.3外连接(OUTERJOIN)查询外连接分为左外连接、右外连接、全外连接三种。外连接除产生内连接生成的符合连接条件的结果集外,还可以使一个表(左、右外连接)或两个表(全外连接)中的不满足连接条件的记录也出现在结果集中。任务2.3.1左外连接Book表和OrderDetail表,查询图书的购买情况实现任务需求的T-SQL代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,如图5.31所示。提示:左外连接将左表Book作为主表,主表中所有记录与右表OrderDetail的每一条记录进行连接,结果集中除了满足连接条件的记录外,还有主表Book中不满足连接条件的记录,在右表OrderDetail的相应列上自动填充NULL值。即查询结果中包括没有被购买的图书信息。上一页下一页返回任务描述任务2.3.2右外连接Book表和OrderDetail表,查询图书的购买情况实现任务需求的T-SQL代码如下:将上述代码在“查询编辑器”窗口中输入并执行,如图5.32所示。任务2.3.3全外连接Book表和OrderDetail表,查询图书的购买情况上一页下一页返回任务描述实现任务需求的T-SQL代码如下:将上述代码在“查询编辑器”窗口中输入并执行,如图5.33所示。☞提示:全外连接的结果集中,除了满足连接条件的记录外,还有左表和右表中不满足条件的记录。在实际应用中,参照完整性约束可以减少对全外连接的使用,一般情况下左外连接就足够了。但在数据库中没有利用清晰、规范的约束来防范错误数据的情况下,全外连接就变得非常有用了,可以使用它来清理数据库中的数据。上一页下一页返回任务描述任务3子查询子查询也称为嵌套查询,在一个SELECT语句中的WHERE子句或HAVING条件中嵌套另一个SELECT语句的查询称为嵌套查询。处于内层的查询称为子查询,处于外层的查询称为父查询,子查询SELECT语句必须放在括号中。SQLServer对嵌套查询由里向外进行处理。任务3.1带有IN运算符的子查询查询计算机类和英语类的图书信息。实施步骤如下:①确定计算机类和英语类图书的bookTypeId。(查询结果为“11”和“22”)上一页下一页返回任务描述②查找bookTypeId值为“11”或者“22”的图书信息。SELECT∗FROMBookWHEREbookTypeId=′11′ORbookTypeId=′22′上一页下一页返回任务描述③将第①步的SELECT查询嵌入第2步的SELECT查询条件中,构造嵌套查询如下:将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.34所示。上一页下一页返回任务描述提示:在带有IN运算符的子查询中,子查询的结果是一个集合,返回的结果集仅包含单个字段,并与父查询中测试表达式的数据类型相同。任务3.2带有比较运算符的子查询查询订单总价大于3号订单总价的订单号及订单总价。实现任务需求的T-SQL代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.35所示。任务3.3带有ANY或ALL运算符的子查询查询比“清华大学出版社”所有书籍价格都高的其他出版社的书籍信息。实现任务需求的T-SQL代码如下:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.36所示。提示:在带有ANY或ALL运算符的子查询中,子查询的结果是一个集合,返回的结果集仅包含单个字段,并与父查询中测试表达式的数据类型相同。使用ANY或ALL运算符必须同时使用比较运算符,将父查询中测试表达式的值与子查询结果集中的每个值进行比较。实现以上任务需求的T-SQL代码可以等价书写为:上一页下一页返回任务描述将上述代码在“查询编辑器”窗口中输入并执行,可以得到相同的查询结果。任务3.4带有EXISTS运算符的子查询在Book表中查询书籍价格超过100元的书籍信息。上一页下一页返回任务描述实现任务需求的T-SQL代码如下:将上述代码在“查询编辑器”窗口中输入并执行,结果如图5.37所示。
上一页返回知识要点一、查询的概念查询(Query)又称为检索,是数据库最核心、最基本的操作之一。查询操作用来从数据表或视图中迅速地搜索并提取所需数据。查询得到的数据称为查询结果数据集,简称查询结果集。查询结果集只是一个虚拟表,按照表的形式组织并显示出来,通常不被存储,也不会被放在缓冲区中,每次查询都会重新从数据表中提取。查询结果集中的数据可以进一步进行计算、统计、汇总及分析,最终按用户的需求组织输出。下一页返回知识要点二、SELECT语句实现查询的T-SQL语句是SELECT语句。1.SELECT语句的语法格式上一页下一页返回知识要点其中:•SELECT和FROM为必选子句,其他子句可选。•SELECT子句用来指定由查询返回的列,可以是星号(∗)、表达式、列表、变量等,并且各列在SELECT子句中的顺序决定了它们在结果集中的顺序。•INTO子句用于将查询结果存储到一个新的数据库表中。•FROM子句用来指定要查询的表或者视图。•WHERE子句用来限定返回行的搜索条件。•GROUPBY子句用来对查询结果进行分组。•HAVING子句通常与GROUPBY子句一起使用,指定分组的搜索条件。上一页下一页返回知识要点•GROUPBY子句、HAVING子句和集合函数一起可以实现对每个组生成一行和一个汇总值。•ORDERBY子句用来指定查询结果的排序方式,ASC表示升序,DESC表示降序。•COUMPUTE子句使用集合函数在查询的结果集中产生汇总行。2.使用SELECT子句指定输出字段列表SELECT子句的基本语法格式为:SELECT[ALL|DISTINCT][TOP<表达式>[PERCENT]]<字段列表>上一页下一页返回知识要点其中:•输出表中所有字段时,可以使用“∗”或用英文逗号隔开列出所有字段。•输出表中部分字段时,可以将要显示的各字段用英文逗号隔开列出,显示顺序任意。•可以输出计算列,即表中没有的列,但以表中一个或多个列为基础计算得到的列。•DISTINCT关键字用于消除结果集中取值重复的行。•TOP关键字用于显示结果集中前面若干条记录。3.使用WHERE子句指定查询条件上一页下一页返回知识要点WHERE子句的基本语法格式为:WHERE<查询条件>通过在WHERE子句中设置查询条件可以挑选符合需要的数据、修改某一记录、删除某一记录。条件查询本质是对表中的数据进行筛选,WHERE子句常用的查询条件见表5.1。(1)使用比较运算符语法格式:<表达式><比较运算符><表达式>比较运算符是查询条件中最常用的一类运算符,主要用于对两个表达式进行比较运算。上一页下一页返回知识要点比较运算符包括=(等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、!=(不等于)、<>(不等于)、!<(不小于)、!>(不大于)。运算结果为TRUE或者FALSE。(2)使用范围运算符语法格式:<列表达式>[NOT]BETWEEN取值范围下限AND取值范围上限范围运算符BETWEEN…AND…和NOTBETWEEN…AND…用于查询属性值在(或不在)指定范围内的记录。上一页下一页返回知识要点(3)使用集合运算符语法格式:<列表达式>[NOT]IN(值1,值2,…,值n)集合运算符IN用于查询属性值属于指定集合的记录,当属性值与集合中的任意一个值匹配时,即满足条件。集合运算符NOTIN用于查询属性值不属于指定集合的记录,当属性值与集合中的所有值都不匹配时,即满足条件。(4)使用空值运算符语法格式:[NOT]<列表达式>ISNULL上一页下一页返回知识要点空值运算符ISNULL和NOTISNULL用于查询属性值为空(或不为空)的记录。(5)使用字符匹配运算符语法格式:<列表达式>[NOT]LIKE′<匹配串>′[ESCAPE′<换码字符>′]在实际应用中,有时不能给出精确的查询条件,只能提供一些并不完全确定的线索来搜索信息。因此,需要根据一些不确定的信息来查询,即使用LIKE运算符实现的模糊查询。上一页下一页返回知识要点LIKE是模式匹配运算符,用于指出一个字符串是否与指定的字符串相匹配。<匹配串>可以是一个完整的字符串,也可以含有通配符。T-SQL中使用的通配符有“%”、“_”、“[]”和“[^]”,见表5.2。如果要查询的字符串本身含有%或_,需要使用ESCAPE′<换码字符>′对通配符进行转义。(6)使用逻辑运算符语法格式:[NOT]<逻辑表达式>AND|OR[NOT]<逻辑表达式>上一页下一页返回知识要点使用逻辑运算符可以将两个或两个以上的条件表达式组合起来构成多重条件查询。多重条件中可以使用的逻辑运算符包括:NOT:NOT对一个条件表达式进行逻辑非运算;AND:连接两个条件表达式,完成逻辑与运算;OR:连接两个条件表达式,完成逻辑或运算。当一条语句中同时含有多个逻辑运算符时,取值的优先顺序为:NOT、AND和OR。逻辑运算符的真值表见表5.3。4.使用ORDERBY子句对查询结果排序上一页下一页返回知识要点ORDERBY子句的基本语法格式为:ORDERBY{<排序表达式>[ASC|DESC]}[,…n]使用ORDERBY子句可以对查询结果按照指定字段进行排序。其中ASC代表升序,DESC表示降序,默认时为升序排列。当按多列排序时,先按前面的列排序,如果值相同,再按后面的列排序。对数据类型为TEXT、NTEXT和IMAGE的字段不能使用ORDERBY进行排序。5.对查询结果进行统计上一页下一页返回知识要点用户经常需要对结果集进行统计,如求和、平均值、最大值、最小值、记录个数等,这些统计可以通过集合函数、GROUPBY子句、COMPUTE子句来实现。(1)使用集合函数集合函数用于处理单个列中所选的全部值,并生成一个结果值。常用的集合函数见表5.4。关键字ALL和DISTINCT指定集合函数的计算范围,ALL对所有值进行统计,DISTINCT对唯一值进行统计,默认取值为ALL。(2)使用GROUPBY子句对结果进行分组上一页下一页返回知识要点GROUPBY子句的基本语法格式为:GROUPBY<分组表达式>[HAVING<筛选条件表达式>GROUPBY子句用于对查询结果按字段分组,还可以使]用HAVING子句按照一定的条件对分组后的数据进行筛选。其中:•“BY列名”指定分组字段,将该字段值相同的记录组成一组,对每一组记录进行汇总计算并生成一条记录。•“HAVING<筛选条件表达式>”表示对生成的组按条件筛选后再对满足条件的组进行统计。HAVING子句通常与GROUPBY子句配合使用,也可单独使用。上一页下一页返回知识要点•SELECT子句的列名必须是GROUPBY子句已有的列名或是计算列。(3)使用COMPUTE子句对结果进行统计COMPUTE子句的基本语法格式为:COMPUTE{{COUNT|MAX|MIN|AVG|SUM}<表达式>}[BY<表达式>COMPUTE子句对查询结果集中的所有记录进行汇总统计,并显示所]有参加汇总记录的详细信息。即查询结果分两部分:未用COMPUTE子句产生的结果集和一行附加的汇总记录。上一页下一页返回知识要点6.使用INTO子句将查询结果生成新表INTO子句的基本语法格式为:INTO新表名INTO子句可以将查询结果保存成一个新表。三、连接查询连接查询指涉及多个表的查询,包括交叉连接查询、内连接查询、外连接查询等。1.交叉连接(CROSSJOIN)查询交叉连接查询又称为非限制连接。基本语法格式为:上一页下一页返回知识要点FROM<表1>CROSSJOIN<表2>交叉连接没有连接条件,返回结果是由表1的每行记录与表2的所有记录组合形成。查询结果的数据行数等于两个表中记录的交叉乘积。2.内连接(INNERJOIN)查询内连接是最常见的一种连接,是系统默认形式。基本语法格式为:FROM<表1>[INNER]JOIN<表2>ON<连接条件>内连接的过程类似于交叉连接,在连接过程中只拼接满足连接条件的记录到结果集。3.外连接(OUTERJOIN)查询上一页下一页返回知识要点外连接除产生内连接生成的符合连接条件的结果集外,还可以使一个表(左、右外连接)或两个表(全外连接)中的不满足连接条件的记录也出现在结果集中。外连接分为左外连接、右外连接、全外连接三种。(1)左外连接(LEFTOUTERJOIN)左外连接的语法格式为:FROM<表1>LEFT[OUTER]JOIN<表2>ON<连接条件>在左外连接中,左表表1作为主表,右表表2作为从表,连接结果为:上一页下一页返回知识要点①符合连接条件时,将主表与从表中的数据组合起来,形成一个新的记录;②不符合连接条件时,主表中的字段照样显示,从表中的字段值则显示NULL值。(2)右外连接(RIGHTOUTERJOIN)右外连接的语法格式为:FROM<表1>RIGHT[OUTER]JOIN<表2>ON<连接条件>在右外连接中,右表表2作为主表,左表表1作为从表,连接结果为:上一页下一页返回知识要点①符合连接条件时,将主表与从表中的数据组合起来,形成一个新的记录;②不符合连接条件时,主表中的字段照样显示,从表中的字段值则显示NULL值。(3)全外连接(FULLOUTERJOIN)全外连接的语法格式为:FROM<表1>FULL[OUTER]JOIN<表2>ON<连接条件>在全外连接中,连接结果为:上一页下一页返回知识要点①符合连接条件时,将左表与右表中的数据组合起来形成一个新的记录;②不符合连接条件的全部记录均被列出,在左表或右表的相应字段中填上NULL值。四、子查询在SELECT查询语句中,子查询也称为嵌套查询,是一个嵌套在SELECT中的查询语句。任何允许使用表达式的地方都可以使用子查询,子查询可以返回单行或多行查询结果。子查询同样遵循SQLServer语法规则,可以嵌套使用。上一页下一页返回知识要点处于内层的查询称为子查询,处于外层的查询称为父查询,通常在父查询的WHERE子句或HAVING条件中嵌套子查询,子查询SELECT语句必须放在括号中。SQLServer对嵌套查询由里向外进行处理。1.带有IN运算符的子查询父查询中WHERE子句或HAVING子句的书写格式:测试表达式IN(子查询)子查询的结果是一个单值,并与父查询中测试表达式的数据类型相同。上一页下一页返回知识要点如果表达式的值与子查询结果集中的任何一个值相等,返回TRUE;如果表达式的值与子查询结果集中的所有值都不相等,则返回FALSE。2.带有比较运算符的子查询父查询中WHERE子句或HAVING子句的书写格式:测试表达式比较运算符(子查询)常用的比较运算符有>,>=,<=,<>,!=,!>,!<。子查询的结果是一个单值,并与父查询中测试表达式的数据类型相同。如果表达式的值与子查询返回值的比较关系成立,返回TRUE,否则返回FALSE。上一页下一页返回知识要点3.带有ANY或ALL运算符的子查询父查询中WHERE子句或HAVING子句的书写格式:测试表达式比较运算符ANY|ALL(子查询)子查询的结果是包含单个字段的结果集,字段类型与父查询中测试表达式的数据类型相同。使用ANY或ALL运算符必须同时使用比较运算符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年海外仓媒体开放日 仓储运营透明化与品牌传播
- 2026年云南普通高中学业水平等级性测试历史卷真题
- 广东省阳江市2026届高三化学试题2月份考试卷含解析
- 2026届安徽省定远县育才中学高三3月份测试化学试题含解析
- 2025年中国红宝石线嘴市场调查研究报告
- 2025年中国空滤壳市场调查研究报告
- 2025年中国真空阀门设备市场调查研究报告
- 2025年中国电脑车花玻璃市场调查研究报告
- 2025年中国特薄型吊顶式风柜机组市场调查研究报告
- 2025年中国单电源仪表放大器市场调查研究报告
- (2026版)《煤矿重大事故隐患判定标准》培训课件
- 2026年无锡小升初语文小升初分班考卷:语文阅读写作与基础积累(冲刺讲评版第2套)含参考答案、逐题解析与评分细则
- 2026信息安全行业市场发展分析及前景趋势与投融资发展机会研究报告
- 2026贵州遵义余庆县公安局面向社会公开招聘警务辅助人员18人笔试备考题库及答案解析
- 2026年安全月知识竞赛试题附答案
- 2026山东临沂市郯城县城镇公益性岗位招聘41人备考题库附答案详解(考试直接用)
- 物流园区安全生产风险分级管控清单
- 2025年湖北省中考生物、地理合卷试卷真题(含答案)
- 教育部高中语文新课程标准
- 危险化学品MSDS(碳酸钙)
- 2022年新《噪声污染防治法》亮点解读课件
评论
0/150
提交评论