SQL高级应用(IN操作符、BETWEEN、别名:AS)
SQL IN 操作符
IN 操作符允许开发者在 WHERE子句中规定多个值,语法如下
SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2,....)
例子:从 Persons表中选取出姓氏为 Adams 和Carter 的人:
SELECT * FROM Persons WHERE LastName IN (‘Adams‘, ‘Carter‘)
SQL BETWEEN 操作符
BETWEEN 操作符在WHERE 子句中使用,作用是选取介于两个值之间的数据范围
操作符 BETWEEN...AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期,BETWEEN的语法如下
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2
例子1:在Persons 表中,如需以字母顺序显示介于 “Adams”(包括) 和“Carter”(不包括)之间的人,请使用下面的SQL
SELECT * FROM Persons WHERE LastName BETWEEN ‘Adams‘ AND ‘Carter‘
重要事项:不同的数据库对 BETWEEN... AND 操作符的处理方式是由差异的。某些数据库会列出介于 “Adams”和 “Carter”之间的人,但不包括“Adams”和“Carter” ;某些数据库会列出介于 "Adams" 和 "Carter" 之间并包括 "Adams" 和 "Carter" 的人;而另一些数据库会列出介于 "Adams" 和 "Carter" 之间的人,包括 "Adams" ,但不包括 "Carter" 。
所以,请检查你的数据库是如何处理 BETWEEN....AND 操作符的!
例子2:在Persons 表中,如需使用上面的例子显示范围之外的人,请使用 NOT 操作符
SELECT * FROM Persons WHERE LastName NOT BETWEEN ‘Adams‘ AND ‘Carter‘
SQL Alias(别名): AS操作符
通过使用SQL, 可以为列名称和表名称指定别名
表的SQL Alias语法
SELECT column_name(s) FROM table_name AS alias_name
列的SQL Alias 语法
SELECT column_name AS alias_name FROM table_name
Alias实例:使用表名称别名
假设现在有两个表分别是:“Persons”和“Product_Orders”。我们分别为它们指定别名 “p” 和 “po”
现在,要列出 “John Adams” 的所有的订单,可以使用下面的 SELECT语句:
SELECT po.OrderID, p.LastName, p.FirstName FROM Persons AS p, Product_Orders AS ppo WHERE p.LastName=‘Adams‘ AND p.FirstName=‘John‘
如果是不使用别名的SELECT语句
SELECT Product_Orders.OrderID, Persons.LastName, Persons.FirstName FROM Persons, Product_Orders WHERE Persons.LastName=‘Adams‘ AND Persons.FirstName=‘John‘
从上面两条 SELECT 语句您可以看到,别名使查询程序更易阅读和书写。
Alias实例:使用一个列名称别名
表 Persons:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Beijing |
SQL:
SELECT LastName AS Family, FirstName AS Name FROM Persons
结果:
Family | Name |
---|---|
Adams | John |
Bush | George |
Carter | Thomas |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。