我刚刚遇到一个使用AS来表示别名的SQL语句,如下所示:
SELECT all, my, stuff FROM someTableName AS a INNER JOIN someOtherTableName AS b ON a.id = b.id
我以前看到的是:
SELECT all, my, stuff FROM someTableName a INNER JOIN someOtherTableName b ON a.id = b.id
我假设没有区别,它只是语法糖,但其中哪一个更普遍/广泛传播?有什么理由比较喜欢一个吗?
编辑澄清:
我感谢所有答案和所有要点,但问题不是为什么或为什么不使用表别名.问题纯粹是关于对表别名使用"AS"关键字或将其遗漏.
这是语法糖,输入需要更长的时间,但有些人发现它更具可读性和清晰度.我使用它的原因是,当读取大型查询时,通过查找AS
's 来更容易选择别名.
另一个原因,有时候全表名称很长而且很麻烦.当你没有像自动完成这样的花哨功能时 - 或者当你只是感觉懒惰时,对较短的东西进行别名有时会使事情变得更容易.;)
......正如其他人在我之前指出的那样,在进行自我联合时它会很有用.
这通常是首选.考虑如果您使用旧的"逗号表示法"进行连接会发生什么,并且您错过了一个逗号.
代替:
select * from Orders, Customers;
你最终得到:
select * from Orders Customers; --Customers is now the alias for Orders.
虽然这不是通过引入'as'来解决的,但你可以更容易地判断它是否有意(因为我可能实际上想要将Orders命名为Customers,取决于我在查询期间对其做了什么).