必学高级sql语句

上传人:第*** 文档编号:38812279 上传时间:2018-05-08 格式:DOC 页数:8 大小:65.50KB
返回 下载 相关 举报
必学高级sql语句_第1页
第1页 / 共8页
必学高级sql语句_第2页
第2页 / 共8页
必学高级sql语句_第3页
第3页 / 共8页
必学高级sql语句_第4页
第4页 / 共8页
必学高级sql语句_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《必学高级sql语句》由会员分享,可在线阅读,更多相关《必学高级sql语句(8页珍藏版)》请在金锄头文库上搜索。

1、必学高级 SQL 语句 ORDER BY 关键词用于对结果进行排序。对行进行分类 ORDER BY 子语句用于对行进行排序。Orders: Company OrderNumber Sega 3412 ABC Shop 5678 W3Schools 2312 W3Schools 6798 实例 以字母顺序显示公司名称:SELECT Company, OrderNumber FROM OrdersORDER BY Company 结果: Company OrderNumber ABC Shop 5678 Sega 3412 W3Schools 6798 W3Schools 2312 实例 以字母顺

2、序显示公司名称(Company) ,并以数字顺序显示顺序号(OrderNumber):ELECT Company, OrderNumber FROM OrdersORDER BY Company, OrderNumber 结果:Company OrderNumber ABC Shop 5678 Sega 3412 W3Schools 2312 W3Schools 6798 实例 以逆字母顺序显示公司名称:SELECT Company, OrderNumber FROM OrdersORDER BY Company DESC 结果: Company OrderNumber W3Schools 6

3、798 W3Schools 2312 Sega 3412 ABC Shop 5678 实例 以逆字母顺序显示公司名称,并以数字顺序显示顺序号:SELECT Company, OrderNumber FROM OrdersORDER BY Company DESC, OrderNumber ASC 结果: Company OrderNumber W3Schools 2312 W3Schools 6798 Sega 3412 ABC Shop 5678 注意:在以上的结果中有两个相等的公司名称(W3School)。只有这一次,在第一列中有相 同的值时,第二列是以升序排列的。如果第一列中有些值为 n

4、ulls 时,情况也是这样的。- AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。假如所有列出的条件都成立,AND 会显示一行。假如列出的条件中有一个成立,OR 操作 符会显示一行。原始的表 (用在例子中的): LastName FirstName Address City Hansen Ola Timoteivn 10 Sandnes Svendson Tove Borgvn 23 Sandnes Svendson Stephen Kaivn 18 Sandnes 实例 使用 AND 来显示所有姓为“Tove“并且名为“Svendson“的人:SELECT * FROM

5、 PersonsWHERE FirstName=ToveAND LastName=Svendson 结果: LastName FirstName Address City Svendson Tove Borgvn 23 Sandnes 实例 使用 OR 来显示所有姓为“Tove“或者名为“Svendson“的人:SELECT * FROM PersonsWHERE firstname=ToveOR lastname=Svendson 结果: LastName FirstName Address City Svendson Tove Borgvn 23 Sandnes Svendson Step

6、hen Kaivn 18 Sandnes 实例 我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式):SELECT * FROM Persons WHERE(FirstName=Tove OR FirstName=Stephen)AND LastName=Svendson 结果: LastName FirstName Address City Svendson Tove Borgvn 23 Sandnes Svendson Stephen Kaivn 18 Sandnes - IN 假如您已经确定希望返回的确切的值至少属于列中之一,那么可以使用操作符 IN。SELECT c

7、olumn_name FROM table_nameWHERE column_name IN (value1,value2,.) 原始的表 (在实例中使用:) LastName FirstName Address City Hansen Ola Timoteivn 10 Sandnes Nordmann Anna Neset 18 Sandnes Pettersen Kari Storgt 20 Stavanger Svendson Tove Borgvn 23 Sandnes 实例 1 如需显示名字是“Hansen“或者“Pettersen“的人,请使用下面的 SQL:SELECT * FR

8、OM PersonsWHERE LastName IN (Hansen,Pettersen) 结果: LastName FirstName Address City Hansen Ola Timoteivn 10 Sandnes Pettersen Kari Storgt 20 Stavanger - - BETWEEN . AND 操作符 BETWEEN . AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本 或者日期。SELECT column_name FROM table_nameWHERE column_nameBETWEEN value1 AND value2 原始的表

9、 (在实例中使用:) LastName FirstName Address City Hansen Ola Timoteivn 10 Sandnes Nordmann Anna Neset 18 Sandnes Pettersen Kari Storgt 20 Stavanger Svendson Tove Borgvn 23 Sandnes 实例 1 如需以字母顺序显示介于“Hansen“(包括)和“Pettersen“(不包括)之间的人,请使用下面 的 SQL:SELECT * FROM Persons WHERE LastNameBETWEEN Hansen AND Pettersen

10、结果: LastName FirstName Address City Hansen Ola Timoteivn 10 Sandnes Nordmann Anna Neset 18 Sandnes 重要事项:不同的数据库对 BETWEEN.AND 操作符的处理方式是有差异的。某些数据库 会列出介于“Hansen“和“Pettersen“之间的人,但不包括“Hansen“和“Pettersen“;某些数据库 会列出介于“Hansen“和“Pettersen“之间并包括“Hansen“和“Pettersen“的人;而另一些数据库 会列出介于“Hansen“和“Pettersen“之间的人,包括“H

11、ansen“,但不包括“Pettersen“。所以: 请检查你的数据库是如何处理 BETWEEN.AND 操作符的!实例 2 如需使用上面的例子显示范围之外的人,请使用 NOT 操作符:SELECT * FROM Persons WHERE LastNameNOT BETWEEN Hansen AND Pettersen 结果: LastName FirstName Address City Pettersen Kari Storgt 20 Stavanger Svendson Tove Borgvn 23 Sandnes - - 通过使用 SQL,别名(Alias)可用于列名称和表名称。列名

12、别名 语法: SELECT column AS column_alias FROM table 表名称别名 语法: SELECT column FROM table AS table_alias 实例: 使用一个列名别名 表(Persons): LastName FirstName Address City Hansen Ola Timoteivn 10 Sandnes Svendson Tove Borgvn 23 Sandnes Pettersen Kari Storgt 20 Stavanger SQL: SELECT LastName AS Family, FirstName AS N

13、ameFROM Persons 结果: Family Name Hansen Ola Svendson Tove Pettersen Kari 实例: 使用一个表名称别名 表(Persons): LastName FirstName Address City Hansen Ola Timoteivn 10 Sandnes Svendson Tove Borgvn 23 Sandnes Pettersen Kari Storgt 20 Stavanger SQL: SELECT LastName, FirstName FROM Persons AS Employees 结果: 表 Employe

14、es:LastName FirstName Hansen Ola Svendson Tove Pettersen KariT-SQL 高級查詢高級查詢一一、子查詢、子查詢:子查询在 WHERE 语句中的一般用法:SELECT FROM 表 1 WHERE 字段 1 (子查询)外面的查询称为父查询,括号中嵌入的查询称为子查询 UPDATE、INSERT、DELETE 一起使用,语法类似于 SELECT 语句 将子查询和比较运算符联合使用,必须保证子查询返回的值不能多于一个例如:SELECT * FROM stuInfoWHERE stuAge( SELECT stuAge FROM stuInfo where stuName=李斯文)GO二、使用子查询替换表连接使用子查询替换表连接一般来说,表连接都可以用子查询替换,但有的子查询却不能用表连接替换子查询比较灵活、方便,常作为增删改查的筛选条件,适合于操纵一个表的数据表连接更适合于查看多表的数据例如:SELECT stuName FROM stuInfo WHERE stuNo=(SELECT stuNo

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

当前位置:首页 > 中学教育 > 教学课件 > 初中课件

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