Соглашение о выборе SQL - PullRequest
       20

Соглашение о выборе SQL

1 голос
/ 11 февраля 2009

Мы столкнулись со следующей «проблемой». Мне нравится использовать следующее письмо:

SELECT  Id, Name
FROM    Table1
JOIN    Table2 ON Table1.FK1 = Table2.FK1

но мой коллега использует:

SELECT  Id, Name
FROM    Table1 JOIN Table2 
ON      Table1.FK1 = Table2.FK1

Есть ли лучшая практика для этого? Я думаю, что это более удобно, если все используемые таблицы выровнены.

Ответы [ 13 ]

0 голосов
/ 11 февраля 2009

Я предпочитаю первую версию, но с некоторым отступом в предложении JOIN, чтобы показать, что оно является частью предложения FROM.

Я нашел эту статью , в которой даются довольно хорошие рекомендации.

0 голосов
/ 11 февраля 2009

Я предпочитаю первое, но я обнаружил, что многие средства форматирования кода автоматически форматируют второе.

0 голосов
/ 11 февраля 2009

Мне нравится первый из этих двух. Наш формат, однако, имеет больше пробелов, и мы обязательно используем скобки.

SELECT
  x.Id
, MAX(y.Sales)
FROM
  [dbo].[Table1] x
INNER JOIN
  [dbo].[Table2] y ON Table1.Id = Table2.Id
WHERE
  x.Id = 100
AND
  x.Name = 'Foo'
GROUP BY
  x.Id
HAVING
  COUNT(*) > 1

Поначалу разработчикам обычно трудно (пожалуйста, не голосуйте! :)), но форматирование имеет тенденцию увеличиваться для большинства людей, и видимость очень помогает. Каждый важный пункт четко виден.

РЕДАКТИРОВАНИЕ: в таблицы псевдонимов, согласно ответу юстиции. Я делаю это, просто забыл в этом ответе. Что касается всех заглавных букв, из моих дней не было хорошей подсветки SQL; это необязательно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...