MySQL |
您所在的位置:网站首页 › sql查询列别名 › MySQL |
别名是什么 别名类似我们小时候父母给我取的小名,虽然叫法不同,但是实际上还是同一个对象。 别名的作用 SQL 别名用于为表或表中的列提供临时名称。 SQL 别名通常用于使列名更具可读性。 SQL 一个别名只存在于查询期间。 别名的使用场景 在下列情况下使用别名是有用的:查询涉及多个表 用于查询函数 需要把两个或更多的列放在一起 列名长或可读性差 列的别名语法SELECT column_name [AS] alias_name FROM table_name; 表的别名语法SELECT column_name(s) FROM table_name [AS] alias_name; 其中AS为可选关键字,可写可不写。 示例数据表 我们以表Customers,表Orders中的数据为例: 表customers 表orders 列别名 以下SQL语句创建两个别名,一个用于客户ID列,另一个用于姓名列: SELECT `客户ID` AS CustomerID, 姓名 Customer FROM Customers;结果为: 注意:查询出来的列名会以别名的形式显示,不再显示原来的列名,但是物理表的列名还是没变,这样在不影响表结构的前提下,可以根据实际需要重命成自己想要的名称。 组合列别名 当我们对数据列进行组合时,为了便于理解,我们可以对组合后列进行重命名。 以下SQL语句创建一个名为“地址”的别名,它包含四列(姓名,省份,城市,地址和邮编): SELECT CONCAT(姓名,'住在:',省份,城市,地址,',邮编:',邮编) Address FROM Customers;结果为: 这里我们将多个列用函数CONCAT进行组合,组合后为防止列名太长或无列名,我们给它重命名为Address,这样就增加了可读性。 表别名实例 以下SQL语句创建两个列别名,一个用于姓名列,一个用于订单日期列,同时创建两个表列名,分别用于Customers表和Orders表 SELECT c.姓名 AS Customer, o.订单日期 AS Orderdate FROM Customers AS c JOIN Orders AS o ON c.客户ID=o.客户ID结果为: 注意事项 1、需要注意的是ON和WHERE以及其他涉及条件筛选的地方,不能使用重命名后的列名。例如以下写法就会报错: SELECT 城市 Ciyt,`省份` Province FROM customers c WHERE c.City='广州'结果: 提示我们找不到c.City这一列。所以这里必须使用原列名"城市"。 2、MySQL支持在GROUP BY分组阶段使用列别名,在其他数据库中是不支持的。例如: SELECT 城市 City,COUNT(*) CNT FROM customers c WHERE c.城市'广州' GROUP BY City结果为: |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |