SQL 入门
SQL 简介
SQL 语法
SQL 通用数据类型
SQL 语句快速参考
SQL Select 语句
SQL SELECT DISTINCT 语句
SQL Where 子句
SQL AND & OR 运算符
SQL ORDER BY 关键字
SQL INSERT INTO 语句
SQL Update 语句
SQL Delete 语句
SQL SELECT TOP, LIMIT, ROWNUM
SQL LIKE 操作符
SQL 通配符
SQL IN 操作符
SQL BETWEEN 操作符
SQL Join连接
SQL INNER JOIN 关键字
SQL LEFT JOIN 关键字
SQL RIGHT JOIN 关键字
SQL FULL OUTER JOIN 关键字
SQL UNION 操作符
SQL SELECT INTO 语句
SQL INSERT INTO SELECT 语句
SQL 高级教程
SQL 撤销索引、表以及数据库
SQL CREATE DATABASE 语句
SQL CREATE TABLE 语句
SQL ALTER TABLE 语句
SQL AUTO INCREMENT 字段
SQL CREATE VIEW、REPLACE VIEW、 DROP VIEW 语句
SQL Server 和 MySQL 中的 Date 函数
SQL NULL 值 – IS NULL 和 IS NOT NULL
SQL 进阶
SQL 别名
SQL 约束
SQL NOT NULL 约束
SQL UNIQUE 约束
SQL PRIMARY KEY 约束
SQL FOREIGN KEY 约束
SQL DEFAULT 约束
SQL CHECK 约束
SQL 使用连接
SQL UNION 子句
SQL NULL 值
SQL 克隆数据表
SQL 索引
SQL 子查询
SQL ALTER TABLE 命令
SQL TRUNCATE TABLE 命令
SQL 处理重复数据
SQL 使用视图
SQL 注入
SQL HAVING 子句
SQL 事务
SQL 使用序列
SQL 通配符
SQL 临时表
SQL MS Access、MySQL 和 SQL Server 数据类型
SQL 函数
SQL 日期函数
SQL 函数
SQL AVG() 函数
SQL COUNT() 函数
SQL FIELD()函数
SQL FIRST() 函数
SQL LAST() 函数
SQL MAX() 函数
SQL MIN() 函数
SQL SUM() 函数
SQL GROUP BY 语句
SQL HAVING 子句
SQL UPPER(),LOWER()函数
SQL UPPER()函数
SQL LOWER()函数
SQL UCASE() 函数
SQL LCASE() 函数
SQL MID() 函数
SQL LEN() 函数
SQL ROUND() 函数
SQL NOW() 函数
SQL FORMAT() 函数
SQL SQRT() 函数
SQL RAND() 函数
SQL CONCAT() 函数
SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数
SQL REPLACE()函数
SQL TRIM()函数
SQL 别名 - SQL教程 - 光年文档管理系统(Light Year Doc)
网站首页
SQL 别名
通过使用 SQL,可以为表名称或列名称指定别名(Alias)。 基本上,创建别名是为了让列名称的可读性更强。 ## 语法 ### 列的 SQL Alias 语法 ```sql SELECT column_name AS alias_name FROM table_name; ``` ### 表的 SQL Alias 语法 ```sql SELECT column_name(s) FROM table_name AS alias_name; ``` ## 演示数据库 在本教程中,我们将使用众所周知的 Northwind 样本数据库。 下面是选自 "Customers" 表的数据: | CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country | | --- | --- | --- | --- | --- | --- | --- | | 1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany | | 2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico | | 3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico | 下面是选自 "Orders" 表的数据: | OrderID | CustomerID | EmployeeID | OrderDate | ShipperID | | --- | --- | --- | --- | --- | | 10643 | 1 | 6 | 1997-08-25 | 1 | | 10644 | 88 | 3 | 1997-08-25 | 2 | | 10645 | 34 | 4 | 1997-08-26 | 1 | ## 列的 Alias 实例 下面的 SQL 语句指定了两个别名,一个是 CustomerName 列的别名,一个是 ContactName 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号: ```sql SELECT CustomerName AS Customer, ContactName AS [Contact Person] FROM Customers; ``` 在下面的 SQL 语句中,我们把四个列(Address、City、PostalCode 和 Country)结合在一起,并创建一个名为 "Address" 的别名: ```sql SELECT CustomerName, Address+', '+City+', '+PostalCode+', '+Country AS Address FROM Customers; ``` ## 表的 Alias 实例 下面的 SQL 语句选取来自客户 "Alfreds Futterkiste" 的所有订单。我们使用 "Customers" 和 "Orders" 表,并分别为它们指定表别名 "c" 和 "o"(通过使用别名让 SQL 更简短): ```sql SELECT o.OrderID, o.OrderDate, c.CustomerName FROM Customers AS c, Orders AS o WHERE c.CustomerName='Alfreds Futterkiste'; ``` 不带别名的相同的 SQL 语句: ```sql SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName FROM Customers, Orders WHERE Customers.CustomerName='Alfreds Futterkiste'; ``` 在下面的情况下,使用别名很有用: - 在查询中涉及超过一个表 - 在查询中使用了函数 - 列名称很长或者可读性差 - 需要把两个列或者多个列结合在一起 ### 语法: **表别名**的基本语法如下: ```sql SELECT column1, column2.... FROM table_name AS alias_name WHERE [condition]; ``` **列别名**的基本语法如下: ```sql SELECT column_name AS alias_name FROM table_name WHERE [condition]; ``` ### 示例: 考虑下面两个数据表,(a)CUSTOMERS 表,如下: ``` +----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Ramesh | 32 | Ahmedabad | 2000.00 | | 2 | Khilan | 25 | Delhi | 1500.00 | | 3 | kaushik | 23 | Kota | 2000.00 | | 4 | Chaitali | 25 | Mumbai | 6500.00 | | 5 | Hardik | 27 | Bhopal | 8500.00 | | 6 | Komal | 22 | MP | 4500.00 | | 7 | Muffy | 24 | Indore | 10000.00 | +----+----------+-----+-----------+----------+ ``` (b)另一个是 ORDERS 表,如下所示: ``` +-----+---------------------+-------------+--------+ |OID | DATE | CUSTOMER_ID | AMOUNT | +-----+---------------------+-------------+--------+ | 102 | 2009-10-08 00:00:00 | 3 | 3000 | | 100 | 2009-10-08 00:00:00 | 3 | 1500 | | 101 | 2009-11-20 00:00:00 | 2 | 1560 | | 103 | 2008-05-20 00:00:00 | 4 | 2060 | +-----+---------------------+-------------+--------+ ``` 下面是**表别名**的用法: ``` SQL> SELECT C.ID, C.NAME, C.AGE, O.AMOUNT FROM CUSTOMERS AS C, ORDERS AS O WHERE C.ID = O.CUSTOMER_ID; ``` 上面语句的运行结果如下所示: ``` +----+----------+-----+--------+ | ID | NAME | AGE | AMOUNT | +----+----------+-----+--------+ | 3 | kaushik | 23 | 3000 | | 3 | kaushik | 23 | 1500 | | 2 | Khilan | 25 | 1560 | | 4 | Chaitali | 25 | 2060 | +----+----------+-----+--------+ ``` 下面是**列别名**的用法: ``` SQL> SELECT ID AS CUSTOMER_ID, NAME AS CUSTOMER_NAME FROM CUSTOMERS WHERE SALARY IS NOT NULL; ``` 其运行结果如下所示: ``` +-------------+---------------+ | CUSTOMER_ID | CUSTOMER_NAME | +-------------+---------------+ | 1 | Ramesh | | 2 | Khilan | | 3 | kaushik | | 4 | Chaitali | | 5 | Hardik | | 6 | Komal | | 7 | Muffy | +-------------+---------------+ ```
上一篇:
SQL 进阶
下一篇:
SQL 约束