是什么与不同方式别名列
select EmployeeName = empName from employees
从技术上看
select empName as EmployeeName from employees
之间的差异。不确定这是否仅仅是SQL服务器特定的。
欣赏你的答案。
是什么与不同方式别名列
select EmployeeName = empName from employees
从技术上看
select empName as EmployeeName from employees
之间的差异。不确定这是否仅仅是SQL服务器特定的。
欣赏你的答案。
我更喜欢第一个,因为第二个是不可移植 -
select EmployeeName = empName from employees
或者是一个语法错误(至少在SQLite和甲骨文),或者根本不给你期待什么(比较两列EmployeeName和empName并返回将比较结果作为一个布尔/整数),而
select empName EmployeeName from employees
相同
select empName as EmployeeName from employees
这是我的首选变体。
第二种语法的主要优点是它允许列别名全部排成一列,这对长表达式有利。
SELECT foo,
bar,
baz = ROW_NUMBER() OVER (PARTITION BY foo ORDER BY bar)
FROM T
由于SQL不关心空白,你不能在任何情况下排队吗? – 2011-05-25 13:49:23
@Alison R.你可以做,但它的更多工作不得不使空白。此外,如果数据项中的内容发生变化,则必须再次调整空白区域 – Curt 2011-05-25 13:50:37
@Alison - 是的。 “允许”是错误的单词,但这意味着我的示例中的“baz”将包装到2行中。一个用表达式,另一个用别名。 – 2011-05-25 13:54:06
我不认为有技术上的差异。其主要优惠。我更喜欢第二个,因为它更容易在大型查询中找到列,特别是如果查询正确缩进。
+1那绝对是一个缺点! – 2011-05-25 13:57:39
确定从雇员中选择EmployeeName empName是有效的sql吗? – 2011-05-25 13:59:26
@Jon如果EmployeeName是表中列的名称,是的,我很确定它是有效的SQL :-) – 2011-05-25 14:07:55