Какой синтаксис у команд INSERT и SELECT в SQL?

«Какой синтаксис у команд INSERT и SELECT в SQL?» — вопрос из категории Базы данных, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Основной синтаксис команд для вставки и выборки данных в SQL выглядит следующим образом:

INSERT — добавление строк в таблицу.

INSERT INTO table_name (column1, column2, column3)
VALUES (value1, value2, value3);

Можно вставлять несколько строк за один запрос:

INSERT INTO users (name, email) VALUES
('Alice', 'alice@example.com'),
('Bob', 'bob@example.com');

SELECT — выборка данных из таблицы.

SELECT column1, column2 FROM table_name
WHERE condition
ORDER BY column1 ASC
LIMIT 10;

Для сложных выборок используются JOIN, GROUP BY и агрегатные функции:

SELECT u.name, COUNT(o.id) as order_count
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
WHERE u.active = TRUE
GROUP BY u.id
HAVING COUNT(o.id) > 5;

Ключевые отличия:

  • INSERT изменяет данные (DML), SELECT только читает.
  • В INSERT имена столбцов можно опустить, если значения передаются для всех столбцов таблицы в правильном порядке.
  • SELECT может использоваться для создания временных результатов и подзапросов.