Основы синтаксиса SQL: комментарии, ключевые слова, регистр

Как SQL понимает ваши команды? Разбираем базовый синтаксис 🛠️

SQL — это язык структурированных запросов, и как любой язык, у него есть свои правила грамматики. Давайте разберём три ключевых элемента, которые влияют на читаемость и выполнение вашего кода.


1️⃣ Комментарии: заметки для себя и других 👥

Комментарии игнорируются СУБД, но критически важны для разработчиков. В SQL есть два типа:

Однострочные комментарии

-- Выбираем всех пользователей из таблицы 'users'
SELECT * FROM users;

Многострочные комментарии (блоки)

/*
Этот запрос возвращает:
- Имя
- Email
- Дату регистрации
*/
SELECT name, email, created_at FROM users;

Где применять?
✔ Поясняйте сложную логику
✔ Временно отключайте часть запроса при отладке
✔ Оставляйте подсказки для коллег


2️⃣ Ключевые слова: команды для СУБД 🎛️

Ключевые слова — это зарезервированные слова, которые SQL понимает «из коробки»:

-- SELECT, FROM, WHERE — это ключевые слова
SELECT product_name 
FROM products 
WHERE price > 100;

Важно! Некоторые СУБД добавляют свои уникальные ключевые слова. Например, LIMIT работает в MySQL, но в SQL Server используется TOP.


3️⃣ Регистр: имеет ли значение BIG LETTERS? 🔠

Ключевые слова

Большинство СУБД не учитывают регистр в ключевых словах:

-- Оба варианта работают одинаково
SELECT * FROM products;
select * from products;

Но есть исключения: В PostgreSQL имена таблиц/столбцов в кавычках становятся регистрозависимыми!

Идентификаторы (таблицы, столбцы)

Зависит от СУБД:

  • MySQL: обычно case-insensitive на Windows, но case-sensitive на Linux
  • SQL Server: зависит от параметров сортировки

Совет от Данилы Бежина:
Придерживайтесь единого стиля. Например, ключевые слова — в верхнем регистре, а имена таблиц — в snake_case:

SELECT user_id, COUNT(*) as order_count 
FROM user_orders 
WHERE created_at > '2023-01-01';

🛠️ Практика: разберём реальный запрос

-- Находим активных пользователей из Москвы
/*
Активность определяется:
- Количеством заказов > 3
- Последним визитом за последний месяц
*/
SELECT 
    u.user_id,
    u.username,
    COUNT(o.order_id) AS total_orders
FROM 
    users u
JOIN 
    orders o ON u.user_id = o.user_id
WHERE 
    u.city = 'Москва'
    AND o.order_date >= DATE_SUB(NOW(), INTERVAL 1 MONTH)
GROUP BY 
    u.user_id
HAVING 
    COUNT(o.order_id) > 3
ORDER BY 
    total_orders DESC;

Что здесь есть:

  • Однострочный и многострочный комментарии
  • Ключевые слова в верхнем регистре (SELECT, FROM, JOIN и т.д.)
  • Читаемые имена таблиц и столбцов

🚀 Экспериментируйте!

Попробуйте в своей СУБД:

  1. Написать запрос с комментариями в разных стилях
  2. Проверить, как работает регистр с именами таблиц
  3. Найти хотя бы 5 ключевых слов, которые вы ещё не использовали (например, DISTINCT, BETWEEN, EXISTS)

Синтаксис — это фундамент. Освоив его, вы сможете строить запросы любой сложности, от простых выборок до аналитических отчётов!

Скрыть рекламу навсегда

📘 VK Видео — обучение без ограничений

Все уроки доступны без VPN, без блокировок и зависаний.

Можно смотреть с телефона, планшета или компьютера — в любое время.

▶️ Смотреть на VK Видео