Почти во всех диалектах SQL строки (например, входные значения) заключаются в одинарные кавычки, а идентификаторы (например, имена таблиц или столбцов) остаются без кавычек:
SELECT column_name, function_name() AS column_alias
FROM table_name
WHERE another_column='The value to match'
Это действительно для MySQL, Oracle, SQL-Server и других приложений.
Это общее правило. Затем возникает особая ситуация: когда вы хотите использовать определенное имя для идентификатора, который обычно будет недействительным. В таком случае MySQL позволяет вам использовать кавычки вокруг имени (другие СУБД используют квадратные скобки, двойные кавычки или просто не позволяют использовать такое имя):
SELECT `Full Name` -- Name with spaces
FROM `from` -- Reserved word
В общем, лучше избегать подобных имен, хотя я понимаю, что бывают случаи, когда действительно хорошее имя уже взято :
SELECT `key`, value
FROM settings
Что касается ваших примеров, очевидно, что они не являются реальными запросами, поскольку использование table
в качестве имени таблицы вызовет синтаксическую ошибку во всех них; -)