Что вернёт SQL-запрос `SELECT name`?

«Что вернёт SQL-запрос `SELECT name`?» — вопрос из категории Базы данных, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Запрос SELECT name неполный и вызовет ошибку в большинстве СУБД, так как отсутствует обязательное ключевое слово FROM с указанием таблицы.

Правильная форма: SELECT name FROM table_name

Пример корректного запроса:

-- Для таблицы users:
-- | id | name   |
-- |----|--------|
-- | 1  | Alice  |
-- | 2  | Bob    |

SELECT name FROM users;

Результат:

name
-----
Alice
Bob

Что произойдёт при ошибке:

  • В СУБД: Будет возвращена синтаксическая ошибка (например, SQL Error: Syntax error near 'name').
  • В Java (JDBC): Вызовет SQLSyntaxErrorException или подобное.

Рекомендация: Всегда явно указывайте таблицу. Для избежания неоднозначностей в сложных запросах используйте алиасы или полную квалификацию: SELECT users.name FROM users.