Строчные или прописные буквы для операторов SQL

есть ли принципиальное различие между этими утверждениями

"select * from users where id = 1"
Или
"SELECT* FROM users WHERE id = 1"
Или
'select * from users where id = 1'
Или
'SELECT * FROM users WHERE id = 1'

мне просто интересно... Я всегда использовал 2-й способ, но некоторые коллеги обязаны использовать другие методы. Какова наиболее распространенная конвенция?

4 ответов


у вас есть два отдельных вопроса:

  1. используете ли вы верхний или нижний регистр для ключевых слов SQL. Это дело вкуса. Документация обычно использует верхний регистр, но я предлагаю вам просто согласиться с любым из них в конкретном проекте.

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

    в C/C++ есть третий вариант для цитирования. Если ваш компилятор поддерживает переменные макросы (представленные в C99), вы можете определить:

    #define SQL(...) #__VA_ARGS__
    

    и использовать SQL, как SQL(SELECT * FROM users WHERE id = 1). Преимущество в том, что таким образом, строка может занимать несколько строк, в то время как цитирует каждая строка должна быть указана отдельно. Тройные кавычки в python служат той же цели.


нет никакой разницы с точки зрения того, как это будет работать, но обычно я ставлю ключевые слова SQL в верхнем регистре, так что это будет:

SELECT * FROM users WHERE id = 1

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


нет.

нет никакой разницы. Все дело в твоих привычках.

это как спросить, есть ли какие-либо различия между этими блоками кода в C++:

int main() {

}

или

int
main()
{

}

или

int main()
{

}

В любом случае наиболее распространенным способом написания инструкций SQL является запись ключевых слов в верхнем регистре.