Форматирование SQL-запросов - PullRequest
2 голосов
/ 12 октября 2010
SELECT `accounts`.`password` FROM accounts WHERE `accounts`.`user`='some_user'

SELECT password FROM accounts WHERE user='some_user'

Я немного смущен этими двумя.Я знаю, что по результатам, между ними нет ничего особенного.Однако есть ли какая-то причина, чтобы сделать один путь, а не другой?Я выучил это вторым способом, но некоторые люди говорили мне, что первый способ - это «официальный» способ сделать это.

Ответы [ 3 ]

2 голосов
/ 12 октября 2010

Вам нужно будет использовать формат table.field, если вы выполняете JOIN и вам нужно использовать его для устранения неоднозначности двух полей с одинаковыми именами в разных таблицах. Например:

   SELECT table1.name 
     FROM table1
LEFT JOIN table1 ON table1.id = table2.id
    WHERE table2.name='smith'

Что касается использования серьезного акцента (`), он вам понадобится, если ваши таблицы или поля являются зарезервированными ключевыми словами SQL, такими как select, where, and и т. Д.

0 голосов
/ 12 октября 2010

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

0 голосов
/ 12 октября 2010

Отличается только то, что вы добавляете имена таблиц в запрос.Мне лично нравится делать это для последующих изменений.Если позже вы захотите присоединиться к другой таблице, в которой также есть поле пароля, у второго оператора будет неоднозначное имя столбца.

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