为表格提供别名的不同方法之间有什么区别吗?

时间:2015-08-14 07:23:33

标签: mysql sql alias

我有一张名为"员工"列名称为" EmployeeName"而且我知道所有这些不同的查询都会给所有员工提供一个表格:

select EmployeeName from Employee;

select EmployeeName from Employee allEmployees;

select allEmployees.EmployeeName from Employee allEmployees;

select EmployeeName from Employee as allEmployees;

他们都提出了表中的所有员工,他们在查询效率或运行时间方面有区别吗?

我认为对于像这样的简单查询,不会有太大差异,但如果上面是一些更长的查询的一部分,那么会有更好的使用吗?如果是这样,为什么?

2 个答案:

答案 0 :(得分:2)

您使用somerandomword作为表别名,这两个quires之间没有区别,它们会产生相同的输出,因为只有一个表, 但是如果你有两个不同的表,列名相同,那么因为名称冲突不起作用,那么你必须使用别名或表名。

答案 1 :(得分:1)

别名用于为数据库表或表中的列提供临时名称。创建它们是为了使列名更具可读性。

Wiki

SELECT somerandomword.EmployeeName from Employee somerandomword;
                                                 --------------
                                                   ^This is the alias name for your table
  

从列中获取数据更安全,特别是当我们在SELECT查询中使用多个表时,如下面的语法

语法:

SELECT t1.col1, t2.col1 from Table_Name1 as t1, Table_Name2 as t2;

Sample Code