SQL 教程
1. SQL 教程 2. SQL 简介 3. SQL 语法 4. SQL SELECT 语句 5. SQL SELECT DISTINCT 语句 6. SQL WHERE 子句 7. SQL AND & OR 运算符 8. SQL ORDER BY 关键字 9. SQL INSERT INTO 语句 10. SQL UPDATE 语句 11. SQL DELETE 语句 12. SQL SELECT TOP, LIMIT, ROWNUM 13. SQL LIKE 操作符 14. SQL 通配符 15. SQL IN 操作符 16. SQL BETWEEN 操作符 17. SQL 别名 18. SQL 连接(JOIN) 19. SQL INNER JOIN 关键字 20. SQL LEFT JOIN 关键字 21. SQL RIGHT JOIN 关键字 22. SQL FULL OUTER JOIN 关键字 23. SQL UNION 操作符 24. SQL SELECT INTO 语句 25. SQL INSERT INTO SELECT 语句 26. SQL CREATE DATABASE 语句 27. SQL CREATE TABLE 语句 28. SQL 约束 29. SQL NOT NULL 约束 30. SQL UNIQUE 约束 31. SQL PRIMARY KEY 约束 32. SQL FOREIGN KEY 约束 33. SQL CHECK 约束 34. SQL DEFAULT 约束 35. SQL CREATE INDEX 语句 36. SQL 撤销索引、表以及数据库 37. SQL ALTER TABLE 语句 38. SQL AUTO INCREMENT 字段 39. SQL CREATE VIEW、REPLACE VIEW、 DROP VIEW 语句 40. SQL Server 和 MySQL 中的 Date 函数 41. SQL NULL 值 – IS NULL 和 IS NOT NULL 42. SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数 43. SQL 通用数据类型 44. SQL MS Access、MySQL 和 SQL Server 数据类型 45. SQL 函数 46. SQL AVG() 函数 47. SQL COUNT() 函数 48. SQL FIRST() 函数 49. SQL LAST() 函数 50. SQL MAX() 函数 51. SQL MIN() 函数 52. SQL SUM() 函数 53. SQL GROUP BY 语句 54. SQL HAVING 子句 55. SQL UCASE() 函数 56. SQL LCASE() 函数 57. SQL MID() 函数 58. SQL LEN() 函数 59. SQL ROUND() 函数 60. SQL NOW() 函数 61. SQL FORMAT() 函数 62. SQL 快速参考 63. SQL 主机 64. SQL 总结

SQL 别名

SQL 别名


通过使用 SQL,可以为表名称或列名称指定别名。


SQL 别名

通过使用 SQL,可以为表名称或列名称指定别名。

基本上,创建别名是为了让列名称的可读性更强。

列的 SQL 别名语法

SELECT column_name AS alias_name
FROM table_name;

表的 SQL 别名语法

SELECT column_name(s)
FROM table_name AS alias_name;


演示数据库

在本教程中,我们将使用 样本数据库。

下面是选自 "Websites" 表的数据:


+----+--------------+---------------------------+-------+---------+

| id | name         | url                       | alexa | country |

+----+--------------+---------------------------+-------+---------+

| 1  | Google       | https://www.google.cm/    | 1     | USA     |

| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |

| 3  |       | http://www.55mianshi.com/    | 4689  | CN      |

| 4  | 微博          | http://weibo.com/         | 20    | CN      |

| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |

| 7  | stackoverflow | http://stackoverflow.com/ |   0 | IND     |

+----+---------------+---------------------------+-------+---------+

下面是 "access_log" 网站访问记录表的数据:


mysql> SELECT * FROM access_log;

+-----+---------+-------+------------+

| aid | site_id | count | date       |

+-----+---------+-------+------------+

|   1 |       1 |    45 | 2016-05-10 |

|   2 |       3 |   100 | 2016-05-13 |

|   3 |       1 |   230 | 2016-05-14 |

|   4 |       2 |    10 | 2016-05-14 |

|   5 |       5 |   205 | 2016-05-14 |

|   6 |       4 |    13 | 2016-05-15 |

|   7 |       3 |   220 | 2016-05-15 |

|   8 |       5 |   545 | 2016-05-16 |

|   9 |       3 |   201 | 2016-05-17 |

+-----+---------+-------+------------+

9 rows in set (0.00 sec)



列的别名实例

下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。提示:如果列名称包含空格,要求使用双引号或方括号:

实例

SELECT name AS n, country AS c
FROM Websites;

执行输出结果:

在下面的 SQL 语句中,我们把三个列(url、alexa 和 country)结合在一起,并创建一个名为 "site_info" 的别名:

实例

SELECT name, CONCAT(url, ', ', alexa, ', ', country) AS site_info
FROM Websites;

执行输出结果:



表的别名实例

下面的 SQL 语句选取 "" 的所访问记录。我们使用 "Websites" 和 "access_log" 表,并分别为它们指定表别名 "w" 和 "a"(通过使用别名让 SQL 更简短):

实例

SELECT w.name, w.url, a.count, a.date
FROM Websites AS w, access_log AS a
WHERE a.site_id=w.id and w.name="";

执行输出结果:

不带别名的相同的 SQL 语句:

实例

SELECT Websites.name, Websites.url, access_log.count, access_log.date
FROM Websites, access_log
WHERE Websites.id=access_log.site_id and Websites.name="";

执行输出结果:

在下面的情况下,使用别名很有用:

  • 在查询中涉及超过一个表
  • 在查询中使用了函数
  • 列名称很长或者可读性差
  • 需要把两个列或者多个列结合在一起