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:

IdLastNameFirstNameAddressCity
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

  结果:

FamilyName
Adams John
Bush George
Carter Thomas

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。