Влияние стиля / формата на SQL - PullRequest
5 голосов
/ 27 июля 2010

Игнорирование версии. Каковы оптимальные методы форматирования кода SQL?

Я предпочитаю этот способ (метод А):

select col from a inner join b on a.id = b.id inner join c on b.id = c.id

коллега предпочитает другого (метод B):

select col from a inner join (b inner join c on b.id=c.id) on a.id = b.id

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

Это первый раз, когда я видел SQL, написанный с использованием метода B, кто-нибудь еще пишет SQL таким образом? Лично мне очень трудно читать метод Б.

РЕДАКТИРОВАТЬ: обратите внимание, что код находится в одной строке и в верхнем регистре, чтобы сделать оба более сопоставимыми для целей этого вопроса.

Ответы [ 3 ]

1 голос
/ 27 июля 2010

Я думаю, что A более читабелен, и большинство примеров кода используют этот стиль.И тот, и другой анализируют один и тот же план запроса, так что в отношении SQL Server разницы нет.

Обычно я также прописные слова и отступ для удобства чтения:

SELECT col 
FROM a 
  INNER JOIN b 
    ON a.id = b.id  
  INNER JOIN c 
    ON b.id = c.id
1 голос
/ 27 июля 2010

Мои личные предпочтения

SELECT col1, col2, col3, 
       col4, col5
FROM a
  INNER JOIN b ON a.id = b.id  
  INNER JOIN c ON b.id = c.id
WHERE a.col1 = 1 

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

1 голос
/ 27 июля 2010

Метод B представляет собой подобранный на синтаксис синтаксис, но он анализируется так же, как и метод A. Его использование не вредно.Лично я тоже предпочитаю метод А., потому что его можно читать по линии.

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