select语句后面的条件

上传人:飞*** 文档编号:40362000 上传时间:2018-05-26 格式:DOC 页数:9 大小:75.50KB
返回 下载 相关 举报
select语句后面的条件_第1页
第1页 / 共9页
select语句后面的条件_第2页
第2页 / 共9页
select语句后面的条件_第3页
第3页 / 共9页
select语句后面的条件_第4页
第4页 / 共9页
select语句后面的条件_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《select语句后面的条件》由会员分享,可在线阅读,更多相关《select语句后面的条件(9页珍藏版)》请在金锄头文库上搜索。

1、select * form aa where 后面是什么样的条件?一.SELECT 语句的完整语法为:SELECTALL|DISTINCT|DISTINCTROW|TOP*|talbe.*|table.field1AS alias1,table.field2AS alias2,FROM tableexpression,IN externaldatabaseWHEREGROUP BYHAVINGORDER BYWITH OWNERACCESS OPTION说明:用中括号()括起来的部分表示是可选的,用大括号()括起来的部分是表示必须从中选择其中的一个。1 FROM 子句FROM 子句指定了 SE

2、LECT 语句中字段的来源。FROM 子句后面是包含一个或多个的表达式(由逗号分开),其中的表达式可为单一表名称、已保存的查询或由 INNER JOIN、LEFT JOIN 或 RIGHT JOIN 得到的复合结果。如果表或查询存储在外部数据库,在 IN 子句之后指明其完整路径。例:下列 SQL 语句返回所有有定单的客户:SELECT OrderID,Customer.customerIDFROM Orders CustomersWHERE Orders.CustomerID=Customers.CustomeersID2 ALL、DISTINCT、DISTINCTROW、TOP 谓词(1)

3、ALL 返回满足 SQL 语句条件的所有记录。如果没有指明这个谓词,默认为 ALL。例:SELECT ALL FirstName,LastNameFROM Employees(2) DISTINCT 如果有多个记录的选择字段的数据相同,只返回一个。(3) DISTINCTROW 如果有重复的记录,只返回一个(4) TOP 显示查询头尾若干记录。也可返回记录的百分比,这是要用 TOP N PERCENT子句(其中 N 表示百分比)例:返回 5%定货额最大的定单SELECT TOP 5 PERCENT*FROM Order DetailsORDER BY UnitPrice*Quantity*(1

4、-Discount) DESC3 用 AS 子句为字段取别名如果想为返回的列取一个新的标题,或者,经过对字段的计算或总结之后,产生了一个新的值,希望把它放到一个新的列里显示,则用 AS 保留。例:返回 FirstName 字段取别名为 NickNameSELECT FirstName AS NickName ,LastName ,CityFROM Employees例:返回新的一列显示库存价值SELECT ProductName ,UnitPrice ,UnitsInStock ,UnitPrice*UnitsInStock AS valueInStockFROM Products二 .WHE

5、RE 子句指定查询条件1 比较运算符比较运算符 含义= 等于 大于= 大于等于不等于! 不大于!#1/1/96# AND OrderDate#96-1-1#也可以表示为:WHERE OrderDateDatevalue(1/1/96)使用 NOT 表达式求反。例:查看 96 年 1 月 1 日以后的定单WHERE Not OrderDateQuantity另一种方法是用 Microsof JET SQL 独有的 JNNER JOIN语法:FROM table1 INNER JOIN table2ON table1.field1 comparision table2.field2其中 compa

6、rision 就是前面 WHERE 子句用到的比较运算符。SELECT FirstName,lastName,OrderID,CustomerID,OrderDateFROM EmployeesINNER JOIN Orders ON Employees.EmployeeID=Orders.EmployeeID注意:INNER JOIN 不能连接 Memo OLE Object Single Double 数据类型字段。在一个 JOIN 语句中连接多个 ON 子句语法:SELECT fieldsFROM table1 INNER JOIN table2ON table1.field1 comp

7、opr table2.field1 ANDON table1.field2 compopr table2.field2 ORON table1.field3 compopr table2.field3也可以SELECT fieldsFROM table1 INNER JOIN(table2 INNER JOIN ( table3INNER JOER ( tablexINNER JOINON table1.field1 compopr table2.field1 ON table1.field2 compopr table2.field2 ON table1.field3 compopr tab

8、le2.field3外部连接返回更多记录,在结果中保留不匹配的记录,不管存不存在满足条件的记录都要返回另一侧的所有记录。FROM table LEFT|RIGHTJOIN table2ON table1.field1comparision table.field2用左连接来建立外部连接,在表达式的左边的表会显示其所有的数据例:不管有没有定货量,返回所有商品SELECT ProductName ,OrderIDFROM ProductsLEFT JOIN Orders ON Products.PrductsID=Orders.ProductID右连接与左连接的差别在于:不管左侧表里有没有匹配的记

9、录,它都从左侧表中返回所有记录。例:如果想了解客户的信息,并统计各个地区的客户分布,这时可以用一个右连接,即使某个地区没有客户,也要返回客户信息。空值不会相互匹配,可以通过外连接才能测试被连接的某个表的字段是否有空值。SELECT *FROM talbe1LEFT JOIN table2 ON table1.a=table2.c1 连接查询中使用 Iif 函数实现以 0 值显示空值Iif 表达式: Iif(IsNull(Amount,0,Amout)例:无论定货大于或小于¥50,都要返回一个标志。Iif(Amount50,?Big order?,?Small order?)五. 分组和总结查询

10、结果在 SQL 的语法里,GROUP BY 和 HAVING 子句用来对数据进行汇总。GROUP BY 子句指明了按照哪几个字段来分组,而将记录分组后,用 HAVING 子句过滤这些记录。GROUP BY 子句的语法SELECT fidldlistFROM tableWHERE criteriaGROUP BY groupfieldlist HAVING groupcriteria注:Microsoft Jet 数据库 Jet 不能对备注或 OLE 对象字段分组。GROUP BY 字段中的 Null 值以备分组但是不能被省略。在任何 SQL 合计函数中不计算 Null 值。GROUP BY 子

11、句后最多可以带有十个字段,排序优先级按从左到右的顺序排列。例:在WA地区的雇员表中按头衔分组后,找出具有同等头衔的雇员数目大于 1 人的所有头衔。SELECT Title ,Count(Title) as TotalFROM EmployeesWHERE Region = WAGROUP BY TitleHAVING Count(Title)1JET SQL 中的聚积函数聚集函数 意义SUM ( ) 求和AVG ( ) 平均值COUNT ( ) 表达式中记录的数目COUNT (* ) 计算记录的数目MAX 最大值MIN 最小值VAR 方差STDEV 标准误差FIRST 第一个值LAST 最后一

12、个值六. 用 Parameters 声明创建参数查询Parameters 声明的语法:PARAMETERS name datatype,name datatype, 其中 name 是参数的标志符,可以通过标志符引用参数.Datatype 说明参数的数据类型.使用时要把 PARAMETERS 声明置于任何其他语句之前.例:PARAMETERSLow price Currency,Beginning datedatatimeSELECT OrderID ,OrderAmountFROM OrdersWHERE OrderAMountlow priceAND OrderDate=Beginning

13、 date七. 功能查询所谓功能查询,实际上是一种操作查询,它可以对数据库进行快速高效的操作.它以选择查询为目的,挑选出符合条件的数据,再对数据进行批处理.功能查询包括更新查询,删除查询,添加查询,和生成表查询.1 更新查询UPDATE 子句可以同时更改一个或多个表中的数据.它也可以同时更改多个字段的值.更新查询语法:UPDATE 表名SET 新值WHERE 准则例:英国客户的定货量增加 5%,货运量增加 3%UPDATE OEDERSSET OrderAmount = OrderAmount *1.1Freight = Freight*1.03WHERE ShipCountry = UK2

14、删除查询DELETE 子句可以使用户删除大量的过时的或冗于的数据.注:删除查询的对象是整个记录.DELETE 子句的语法:DELETE 表名.*FROM 来源表WHERE 准则例: 要删除所有 94 年前的定单DELETE *FROM OrdersWHERE OrderData,ANY(SELECT UnitPrice FROMOrder Details WHERE Discount0.25)2 检查表达式的值是否匹配子查询返回的一组值的某个值语法:NOTIN(子查询)例:返回库存价值大于等于 1000 的产品.SELECT ProductName FROM ProductsWHERE Pro

15、ductID IN(SELECT PrdoctID FROM Order DEtailsWHERE UnitPrice*Quantity= 1000)3 检测子查询是否返回任何记录语法:NOTEXISTS (子查询)例:用 EXISTS 检索英国的客户SELECT ComPanyName,ContactNameFROM OrdersWHERE EXISTS(SELECT *FROM CustomersWHERE Country = UK ANDCustomers.CustomerID= Orders.CustomerID)对于 where 后面的 and、or、like、not like 可以无限度的增加,并且没有先后顺序

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号