В чем разница между
select empName as EmployeeName from employees
против
select EmployeeName = empName from employees
с технической точки зрения. Не уверен, что это только для SQL-сервера или нет.
Цените ваши ответы.
В чем разница между
select empName as EmployeeName from employees
против
select EmployeeName = empName from employees
с технической точки зрения. Не уверен, что это только для SQL-сервера или нет.
Цените ваши ответы.
Я бы предпочел первый, так как второй не портативный -
select EmployeeName = empName from employees
является либо синтаксической ошибкой (по крайней мере, в SQLite и Oracle), либо может не дать вам того, что вы ожидаете (сравнение двух столбцов EmployeeName и empName и возврат результата сравнения в виде логического/целого числа), тогда как
select empName EmployeeName from employees
такой же как
select empName as EmployeeName from employees
который является моим предпочтительным вариантом.
select EmployeeName empName from employees
действительно sql?
- person Jon Egerton; 25.05.2011
Основное преимущество второго синтаксиса заключается в том, что он позволяет выровнять все псевдонимы столбцов, что может быть полезно для длинных выражений.
SELECT foo,
bar,
baz = ROW_NUMBER() OVER (PARTITION BY foo ORDER BY bar)
FROM T
baz
в моем примере перенесено на 2 строки. Один с выражением, а другой с псевдонимом.
- person Martin Smith; 25.05.2011
Я не думаю, что есть техническая разница. В основном льготный. Я выбираю второй вариант, так как в больших запросах легче обнаружить столбцы, особенно если запрос имеет правильный отступ.