SQL语句的基本语法

上传人:m**** 文档编号:430761701 上传时间:2023-11-08 格式:DOCX 页数:16 大小:20.99KB
返回 下载 相关 举报
SQL语句的基本语法_第1页
第1页 / 共16页
SQL语句的基本语法_第2页
第2页 / 共16页
SQL语句的基本语法_第3页
第3页 / 共16页
SQL语句的基本语法_第4页
第4页 / 共16页
SQL语句的基本语法_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《SQL语句的基本语法》由会员分享,可在线阅读,更多相关《SQL语句的基本语法(16页珍藏版)》请在金锄头文库上搜索。

1、SQL语句的基本语法一.SELECT语句的完整语法为:SELECTALL|DISTINCT|DISTINCTROW|TOP*|talbe.*|table.fieldlAS aliasl,table.field2AS alias2,. FROM tableexpression,. .IN externaldatabaseWHERE.GROUP BY.HAVINGORDER BYWITH OWNERACCESS OPTION说明:用中括号()括起来的部分表示是可选的,用大括号()括起来的部分是表示必 须从中选择其中的一个。1 FROM 子句FROM子句指定了 SELECT语句中字段的来源。FROM

2、子句后面是包含一个或多个的表达 式(由逗号分开),其中的表达式可为单一表名称、已保存的查询或由 INNER JOIN、LEFT JOIN 或 RIGHT JOIN 得到的复合结果。如果表或查询存储在外部数据库,在 IN 子句之后 指明其完整路径。例:下列SQL语句返回所有有定单的客户:SELECT OrderID,FROM Orders CustomersWHERE =2 ALL、DISTINCT、DISTINCTROW、TOP 谓词(1) ALL返回满足SQL语句条件的所有记录。如果没有指明这个谓词,默认为ALL。例:SELECT ALL FirstName,LastNameFROM Emp

3、loyees(2) DISTINCT 如果有多个记录的选择字段的数据相同,只返回一个。(3) DISTINCTROW 如果有重复的记录,只返回一个TOP显示查询头尾若干记录。也可返回记录的百分比,这是要用TOP N PERCENT子句 (其中 N 表示百分比)例:返回 5%定货额最大的定单SELECT TOP 5 PERCENT*FROM Order DetailsORDER BY UnitPrice*Quantity*(1-Discount) DESC3 用 AS 子句为字段取别名如果想为返回的列取一个新的标题,或者,经过对字段的计算或总结之后,产生了一个新的 值,希望把它放到一个新的列里显

4、示,则用AS保留。例:返回FirstName字段取别名为NickNameSELECT FirstName AS NickName ,LastName ,CityFROM Employees例:返回新的一列显示库存价值SELECT ProductName ,UnitPrice ,UnitsInStock ,UnitPrice*UnitsInStock AS valueInStock FROM Products二 .WHERE 子句指定查询条件1 比较运算符比较运算符 含义= 等于 大于= 大于等于= 小于等于 不等于! 不大于!#1/1/96# AND OrderDate#96-1-1#也可以表

5、示为:WHERE OrderDateDatevalue(1/1/96)使用 NOT 表达式求反。例:查看96年1月1日以后的定单WHERE Not OrderDateQuantity 另一种方法是用 Microsof JET SQL 独有的 JNNER JOIN 语法:FROM table1 INNER JOIN table2ON comparision其中comparision就是前面WHERE子句用到的比较运算符。SELECT FirstName,lastName,OrderID,CustomerID,OrderDateFROM EmployeesINNER JOIN Orders ON

6、=INNER JOIN 不能连接 Memo OLE Object Single Double 数据类型字段。在一个JOIN语句中连接多个ON子句语法:SELECT fieldsFROM table1 INNER JOIN table2ON compopr ANDON compopr ORON compopr也可以SELECT fieldsFROM table1 INNER JOIN(table2 INNER JOIN ( table3INNER JOER ( tablexINNER JOINON compoprON compoprON compopr外部连接返回更多记录,在结果中保留不匹配的记

7、录,不管存不存在满足条件的 记录都要返回另一侧的所有记录。FROM table LEFT|RIGHTJOIN table2ON用左连接来建立外部连接,在表达式的左边的表会显示其所有的数据例:不管有没有定货量,返回所有商品SELECT ProductName ,OrderIDLEFT JOIN Orders ON = 右连接与左连接的差别在于:不管左侧表里有没有匹配的记录,它都从左侧表中 返回所有记录。例:如果想了解客户的信息,并统计各个地区的客户分布,这时可以用一个右连 接,即使某个地区没有客户,也要返回客户信息。空值不会相互匹配,可以通过外连接才能测试被连接的某个表的字段是否有空 值。SEL

8、ECT *FROM talbe1LEFT JOIN table2 ON =1连接查询中使用I if函数实现以0值显示空值Iif 表达式: Iif(IsNull(Amount, 0,Amout)例:无论定货大于或小于50,都要返回一个标志。Iif(Amount50,?Big order?,?Small order?)五. 分组和总结查询结果在SQL的语法里,GROUP BY和HAVING子句用来对数据进行汇总。GROUP BY子句 指明了按照哪几个字段来分组,而将记录分组后,用HAVING子句过滤这些记录。GROUP BY 子句的语法SELECT fidldlistFROM tableWHERE

9、 criteriaGROUP BY groupfieldlist HAVING groupcriteria注:Microsoft Jet数据库Jet不能对备注或OLE对象字段分组。GROUP BY字段中的Null值以备分组但是不能被省略。 在任何SQL合计函数中不计算Null值。GROUP BY子句后最多可以带有十个字段,排序优先级按从左到右的顺序排列。 例:在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最后一个值六. 用Parameters声明创建参数查询Parameters声明的语法:PARAMETERS name datatype,name datatype, 其中name是参数的标志符,可以通过标志符引用参数.Datatype说明参数的数据类型.使用时要把P

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

当前位置:首页 > 机械/制造/汽车 > 综合/其它

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