SQL форматтер и валидатор - Бесплатное онлайн форматирование SQL-запросов
Бесплатный форматтер и валидатор SQL. Автоматическое форматирование SQL с правильными отступами и капитализацией. Мгновенная проверка синтаксических ошибок. Работает с MySQL, PostgreSQL, SQL Server, Oracle.
Форматтер и валидатор SQL
Форматирование и проверка SQL-запросов с автоматическим отступом, капитализацией ключевых слов и обнаружением синтаксических ошибок.
Документация
Почему форматирование SQL имеет значение
Когда-нибудь доставался проект базы данных, где SQL выглядит так, будто его набирали с завязанными глазами? Вы не одиноки. Плохо отформатированный SQL — один из самых распространенных источников ошибок и потери времени при разработке баз данных.
Этот форматировщик и валидатор SQL поможет автоматически очистить беспорядочные запросы. Вставьте свой SQL, и он мгновенно применит правильные отступы, преобразует ключевые слова в заглавные буквы и проверит синтаксические ошибки — все это в вашем браузере без передачи данных на какой-либо сервер. То, что обычно занимает 10-15 минут ручного форматирования, происходит за доли секунды.
Из моего опыта работы с командами баз данных, самое большое сбережение времени — это не только форматирование, но и обнаружение ошибок до их попадания в производство. Неправильно расположенная скобка или незакрытая кавычка могут потратить часы на отладку. Этот инструмент моментально обнаруживает такие проблемы, прежде чем вы что-либо выполните в базе данных.
Как использовать SQL-форматтер
Интерфейс намеренно минималистичен — просто вставьте и готово:
- Вставьте свой SQL в поле ввода (или введите его напрямую, если создаете с нуля)
- Наблюдайте автоматическое форматирование при наборе — никаких кнопок для нажатия, никаких настроек для настройки
- Проверьте ошибки валидации, если они появятся под отформатированным выводом
- Скопируйте отформатированный SQL одним щелчком для использования в вашей среде разработки, документации или инструменте базы данных
Работает на любом устройстве с браузером. Форматирование происходит полностью на стороне клиента, поэтому ваши запросы никогда не покидают ваш компьютер — это важно при работе со структурами производственных баз данных или конфиденциальными схемами.
Что делает SQL-форматтер
Капитализация ключевых слов
Все SQL-ключевые слова автоматически капитализируются — SELECT, FROM, WHERE, JOIN и так далее. Это соответствует соглашениям, используемым большинством команд баз данных, и делает ключевые слова визуально отличимыми от названий ваших таблиц и столбцов. Когда вы просматриваете сложный запрос, такое визуальное разделение помогает моментально определить структуру запроса.
Умный отступ
Форматтер структурирует ваш SQL на основе логической иерархии, а не просто добавляет случайные разрывы строк. Основные clauseы, такие как SELECT и FROM, начинаются с левого края. Clauseы JOIN имеют отступ под FROM, показывая, что они являются частью выбора таблицы. Подзапросы получают дополнительные уровни отступа, делая вложенную логику понятной.
Вот что происходит на практике: когда у вас есть запрос с несколькими объединениями и подзапросами, правильный отступ позволяет увидеть структуру запроса, не читая каждое слово. Вы можете мгновенно определить, где заканчивается одно объединение и начинается другое, или где подзапрос используется в вашем списке SELECT.
Логические разрывы строк
Разрывы строк появляются там, где они улучшают читаемость, а не везде. Каждый основной clauseы получает свою собственную строку. Элементы в списках, разделенных запятыми (например, имена столбцов в SELECT), каждый получает свою собственную строку с правильным отступом. Подзапросы визуально разделены. Операторы CASE разбиваются на WHEN, THEN и ELSE для ясности.
Интервалы соответствуют соглашениям Руководства по стилю SQL, используемым в отрасли, что означает, что ваш отформатированный SQL будет знаком другим разработчикам.
Проверка SQL: Что Проверяется
Валидатор ловит ошибки, которые обычно проскальзывают при быстром написании SQL. Он не заменит анализатор запросов вашей базы данных, но перехватывает распространенные ошибки еще до выполнения запроса.
Структурные Ошибки
Несбалансированные скобки удивительно часто встречаются в сложных запросах с вложенными подзапросами. Валидатор подсчитывает открывающие и закрывающие скобки, чтобы немедленно отмечать несоответствия. Я видел производственные инциденты, вызванные одной отсутствующей скобкой в 200-строчном запросе — здесь такие ошибки обнаруживаются заранее.
Незакрытые строковые литералы возникают, когда вы забываете закрывающую кавычку в строковом значении. Ваша база данных немедленно отвергнет такие запросы, но обнаружение здесь экономит время.
Проблемы с порядком клаузул отмечаются, когда клаузулы появляются в неправильной последовательности. Например, если вы поставите HAVING перед GROUP BY или WHERE после GROUP BY, валидатор предупредит вас. Это соответствует правилам синтаксиса SQL-стандарта, определенным в стандарте ISO/IEC 9075.
Логические Ошибки
Клаузулы JOIN без условий ON создают случайные перекрестные соединения, возвращающие гораздо больше строк, чем предполагалось. Распространенный сценарий: вы добавляете третью или четвертую таблицу в запрос и забываете клаузулу ON. Без этой проверки вы можете не заметить проблему, пока не увидите тысячи повторяющихся строк в результатах.
HAVING без GROUP BY технически является недопустимым SQL в большинстве баз данных. Клаузула HAVING фильтрует сгруппированные результаты, поэтому требует GROUP BY для работы. Валидатор обнаруживает это логическое несоответствие.
Неполные условия WHERE происходят, когда вы начинаете вводить условие, но не заканчиваете его — например, WHERE status = без значения. Такие ошибки легко пропустить при редактировании запросов.
Что Не Будет Обнаружено
Этот валидатор фокусируется на синтаксисе и структуре, а не на схеме базы данных. Он не определит:
- Существуют ли имена таблиц или столбцов в вашей базе данных
- Совместимы ли типы данных при соединении
- Будет ли запрос эффективным или имеет проблемы с оптимизацией
- Есть ли у вас разрешение на доступ к запрашиваемым таблицам
Рассматривайте это как первичную проверку перед отправкой запроса в вашу реальную базу данных.
Правила форматирования, применяемые этим инструментом
Форматировщик применяет согласованные правила на основе соглашений SQL Style Guide, которым следуют большинство команд баз данных.
Ключевые слова пишутся с заглавной буквы
Каждое ключевое слово SQL становится прописным: SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP. Это включает в себя клаузы (FROM, WHERE, GROUP BY, HAVING, ORDER BY), типы объединений (JOIN, INNER JOIN, LEFT JOIN), операторы (AND, OR, NOT, IN, BETWEEN, LIKE) и стандартные функции (COUNT, SUM, AVG, CASE, WHEN).
Почему прописными? Это создает визуальное различие между языковыми элементами SQL и именами, специфичными для вашей базы данных (таблицы, столбцы, псевдонимы). При просмотре запроса глаз сразу улавливает структуру.
Отступ в два пробела для каждого уровня
Основные клаузы, такие как SELECT и FROM, начинаются с левого края. Клаузы JOIN имеют отступ в два пробела под FROM, чтобы показать, что они являются частью выбора таблиц. Подзапросы имеют дополнительный отступ в два пробела для каждого уровня вложенности. Это создает визуальную иерархию, соответствующую логической структуре.
Списки, разделенные запятыми (например, имена столбцов в SELECT), каждый получает свою собственную строку с последовательным отступом. Когда у вас 15 столбцов в списке SELECT, это облегчает просмотр и поиск конкретных столбцов.
Условия в клаузах WHERE выравниваются по вертикали. Когда у вас есть несколько условий AND или OR, выравнивание сразу делает логическую структуру очевидной.
До и после: Увидьте разницу
До форматирования:
1select u.id, u.name, o.order_date from users u join orders o on u.id = o.user_id where o.status = "completed" group by u.id order by u.name;
2После форматирования:
1SELECT
2 u.id,
3 u.name,
4 o.order_date
5FROM users u
6 JOIN orders o ON u.id = o.user_id
7WHERE
8 o.status = "completed"
9GROUP BY
10 u.id
11ORDER BY
12 u.name;
13Правила проверки: Что попадает под флаг
Валидатор проверяет структурную целостность и базовую логическую согласованность. Вот что он ищет:
Структурные проверки
Сбалансированные скобки: Открывающие и закрывающие скобки должны совпадать. Вложенные подзапросы часто имеют несколько уровней скобок, и ошибка в их подсчете — одна из самых распространенных ошибок в SQL. Валидатор подсчитывает их за вас.
Правильно закрытые строки: Каждая открывающая кавычка (одинарная или двойная) должна иметь закрывающую кавычку. Звучит очевидно, но при написании сложного запроса с несколькими строковыми литералами легко упустить одну.
Правильный порядок клаузул: В SQL есть определенные требования к порядку. SELECT идет перед FROM, который идет перед WHERE, который идет перед GROUP BY, который идет перед HAVING, который идет перед ORDER BY. Нарушение этой последовательности вызывает немедленные синтаксические ошибки. Валидатор проверяет этот порядок на основе стандарта SQL.
Проверки логической согласованности
JOIN с условием ON: Каждый JOIN требует клаузы ON или USING для указания связи между таблицами. Без нее вы получаете перекрестное соединение — каждая строка из одной таблицы спарена с каждой строкой из другой. Это редко бывает желаемым результатом и обычно указывает на отсутствующую клаузу ON.
Полные условия WHERE: Клауза WHERE требует полных предикатов. WHERE status = без значения является неполным и недопустимым. Валидатор помечает такие частичные условия.
HAVING требует GROUP BY: Клауза HAVING фильтрует сгруппированные результаты, поэтому имеет смысл только при наличии GROUP BY. Использование HAVING без GROUP BY является логической ошибкой, которую большинство баз данных отклоняют.
Правила группировки и агрегации: При использовании агрегатных функций, таких как COUNT() или SUM(), любые негруппируемые столбцы в списке SELECT должны присутствовать в GROUP BY. Это фундаментальное требование SQL, которое проверяет валидатор.
Пример распространенных ошибок, которые обнаруживает валидатор
Вот SQL с несколькими проблемами, которые будет помечены валидатором:
1SELECT user_id, COUNT(*) FROM orders
2JOIN users
3WHERE status =
4GROUP BY
5HAVING count > 10;
6Обнаруженные проблемы:
JOIN usersотсутствует условиеON(создаст перекрестное соединение)WHERE status =неполное (нет значения для сравнения)- Пустая клауза
GROUP BY(не указаны столбцы) HAVING count > 10ссылается на неопределенный столбец
Когда использовать этот SQL-форматтер
При проверке кода
Когда-нибудь пытались просматривать SQL-запрос из 50 строк, написанный в одну строку? Это невыносимо. Перед отправкой запросов на проверку прогоните их через форматтер. Рецензенты будут вам благодарны, и они смогут сосредоточиться на логике, а не на расшифровке структуры.
При проверке pull-реквестов с изменениями базы данных просите участников сначала отформатировать свой SQL. Это значительно упрощает обнаружение логических ошибок, когда структура последовательна.
Отладка проблем в продакшене
Когда вы устраняете неисправный запрос в продакшене, правильное форматирование помогает четко видеть его структуру. Я отлаживал бесчисленное количество запросов, где проблема становилась очевидной сразу после правильного форматирования — отсутствующее условие соединения, неправильная группировка условия WHERE или подзапрос в неподходящем месте.
Скопируйте запрос из логов, вставьте его сюда, и вы сразу увидите возможные структурные проблемы.
Работа с сгенерированным SQL
ORM (объектно-реляционные отображения) вроде Hibernate, Entity Framework или SQLAlchemy автоматически генерируют SQL. Иногда нужно увидеть, какой именно запрос они создают. Сгенерированный SQL обычно представляет собой одну длинную строку без форматирования. Этот инструмент делает ORM-сгенерированные запросы читаемыми, чтобы вы могли их понять и оптимизировать.
Обучение и изучение SQL
Если вы изучаете SQL или преподаете его, этот форматтер помогает понять правильную структуру запроса. Когда вы вставляете работающий запрос и видите, как он форматируется, вы изучаете соглашения. Когда вы вставляете неисправный запрос и видите ошибки валидации, вы понимаете, почему он не работает.
Миграция между системами баз данных
Разные базы данных (PostgreSQL, MySQL, SQL Server) имеют немного разные диалекты SQL. При миграции запросов между системами правильное форматирование помогает заметить особенности диалекта, которые могут потребовать корректировки. Форматтер следует стандартным соглашениям SQL, которые работают в большинстве основных баз данных.
Альтернативы этому SQL-форматтеру
Специализированные среды разработки для баз данных
Такие инструменты, как DataGrip, SQL Server Management Studio или MySQL Workbench, имеют встроенные форматтеры. Они мощные и напрямую интегрируются с подключениями к базам данных.
Компромисс: они требуют установки и настройки. DataGrip стоит $199/год для индивидуальных пользователей. SSMS бесплатен, но работает только в Windows. Если вам нужно быстрое форматирование без установки или вы работаете с несколькими системами баз данных, веб-инструмент более практичен.
Расширения для редакторов
Если вы пишете SQL в VS Code или Sublime Text, расширения вроде SQL Beautify или SqlBeautifier добавляют форматирование прямо в редактор. Это удобно, когда вы активно пишете запросы и хотите мгновенное форматирование как часть рабочего процесса.
Ограничение: расширения требуют настройки и привязаны к конкретному редактору. При обмене SQL с коллегами или публикации запросов в документации веб-форматтер обеспечивает единообразное форматирование для всех.
Форматтеры командной строки
Инструменты вроде sqlformat (Python) или sql-formatter-cli (Node.js) могут быть интегрированы в конвейеры CI/CD для автоматического форматирования SQL в системе контроля версий. Это обеспечивает согласованность в команде.
Лучше всего подходят для автоматизированных рабочих процессов, а не для эпизодического форматирования. Если вы просто прибираете несколько запросов или изучаете SQL, инструменты командной строки добавляют ненужную сложность.
Как SQL-форматирование стало стандартной практикой
SQL был разработан в IBM в 1970-х годах, но соглашения по форматированию появились гораздо позже. Ранний SQL был функциональным, но несогласованным — каждый разработчик форматировал запросы по-своему.
Переломный момент наступил в 1990-х годах, когда базы данных перешли от проектов с одним разработчиком к командной разработке. Организации начали создавать внутренние руководства по стилю SQL для поддержания согласованности. Когда над одной базой данных работали пять разработчиков, читаемый SQL становился необходимым для совместной работы.
В 2000-х годах появились ORM, которые генерировали SQL автоматически. Эти инструменты создавали работающий, но некрасивый SQL — всё в одну строку, без отступов. Это вызвало спрос на автоматические форматтеры, которые могли бы сделать сгенерированный SQL понятным для человека.
В 2010-х годах появились онлайн-форматтеры SQL по мере развития веб-разработки. Вместо установки инструментов или настройки плагинов IDE разработчики могли форматировать SQL в браузере. Это сделало правильное форматирование доступным для всех — от начинающих, изучающих SQL, до опытных разработчиков, наводящих порядок в быстрых запросах.
Сегодня форматирование SQL считается базовой практикой, аналогичной форматированию кода в других языках программирования. Руководство по стилю SQL от Саймона Холивелла предоставляет широко принятые соглашения, а такие инструменты автоматически реализуют эти стандарты.
Примеры кода
Пример 1: Базовый запрос SELECT
Неотформатированный:
1select id, first_name, last_name, email from customers where status = 'active' order by last_name, first_name;
2Отформатированный:
1SELECT
2 id,
3 first_name,
4 last_name,
5 email
6FROM
7 customers
8WHERE
9 status = 'active'
10ORDER BY
11 last_name,
12 first_name;
13Пример 2: Запрос JOIN
Неотформатированный:
1select c.id, c.name, o.order_date, o.total_amount from customers c left join orders o on c.id = o.customer_id where o.order_date >= '2023-01-01' and o.status != 'cancelled' order by o.order_date desc;
2Отформатированный:
1SELECT
2 c.id,
3 c.name,
4 o.order_date,
5 o.total_amount
6FROM
7 customers c
8 LEFT JOIN orders o ON c.id = o.customer_id
9WHERE
10 o.order_date >= '2023-01-01'
11 AND o.status != 'cancelled'
12ORDER BY
13 o.order_date DESC;
14Пример 3: Сложный запрос с подзапросом
Неотформатированный:
1select d.department_name, (select count(*) from employees e where e.department_id = d.id) as employee_count, (select avg(salary) from employees e where e.department_id = d.id) as avg_salary from departments d where d.active = true having employee_count > 0 order by avg_salary desc;
2Отформатированный:
1SELECT
2 d.department_name,
3 (
4 SELECT
5 COUNT(*)
6 FROM
7 employees e
8 WHERE
9 e.department_id = d.id
10 ) AS employee_count,
11 (
12 SELECT
13 AVG(salary)
14 FROM
15 employees e
16 WHERE
17 e.department_id = d.id
18 ) AS avg_salary
19FROM
20 departments d
21WHERE
22 d.active = TRUE
23HAVING
24 employee_count > 0
25ORDER BY
26 avg_salary DESC;
27Программное форматирование SQL
Вот примеры реализации форматирования SQL в различных языках программирования:
1// Пример форматирования SQL на JavaScript с использованием библиотеки sql-formatter
2const sqlFormatter = require('sql-formatter');
3
4function formatSQL(sql) {
5 return sqlFormatter.format(sql, {
6 language: 'sql',
7 uppercase: true,
8 linesBetweenQueries: 2,
9 indentStyle: 'standard'
10 });
11}
12
13const rawSQL = "select id, name from users where status='active'";
14const formattedSQL = formatSQL(rawSQL);
15console.log(formattedSQL);
161# Пример форматирования SQL на Python с использованием sqlparse
2import sqlparse
3
4def format_sql(sql):
5 return sqlparse.format(
6 sql,
7 reindent=True,
8 keyword_case='upper',
9 identifier_case='lower',
10 indent_width=2
11 )
12
13raw_sql = "select id, name from users where status='active'"
14formatted_sql = format_sql(raw_sql)
15print(formatted_sql)
161// Пример форматирования SQL на Java с использованием JSqlParser
2import net.sf.jsqlparser.parser.CCJSqlParserUtil;
3import net.sf.jsqlparser.statement.Statement;
4
5public class SQLFormatter {
6 public static String formatSQL(String sql) throws Exception {
7 Statement statement = CCJSqlParserUtil.parse(sql);
8 return statement.toString()
9 .replaceAll("(?i)SELECT", "\nSELECT")
10 .replaceAll("(?i)FROM", "\nFROM")
11 .replaceAll("(?i)WHERE", "\nWHERE")
12 .replaceAll("(?i)ORDER BY", "\nORDER BY");
13 }
14
15 public static void main(String[] args) throws Exception {
16 String rawSQL = "select id, name from users where status='active'";
17 String formattedSQL = formatSQL(rawSQL);
18 System.out.println(formattedSQL);
19 }
20}
211<?php
2// Пример форматирования SQL на PHP
3function formatSQL($sql) {
4 // Заменить ключевые слова на версии в верхнем регистре
5 $keywords = ['SELECT', 'FROM', 'WHERE', 'JOIN', 'LEFT JOIN', 'RIGHT JOIN',
6 'INNER JOIN', 'GROUP BY', 'ORDER BY', 'HAVING', 'LIMIT'];
7
8 $formattedSQL = $sql;
9 foreach ($keywords as $keyword) {
10 $formattedSQL = preg_replace('/\b' . preg_quote($keyword, '/') . '\b/i', "\n$keyword", $formattedSQL);
11 }
12
13 // Добавить отступы
14 $lines = explode("\n", $formattedSQL);
15 $result = '';
16 $indentLevel = 0;
17
18 foreach ($lines as $line) {
19 $trimmedLine = trim($line);
20 if (!empty($trimmedLine)) {
21 $result .= str_repeat(" ", $indentLevel) . $trimmedLine . "\n";
22 }
23 }
24
25 return $result;
26}
27
28$rawSQL = "select id, name from users where status='active'";
29$formattedSQL = formatSQL($rawSQL);
30echo $formattedSQL;
31?>
32Часто задаваемые вопросы
Работает ли этот SQL-форматтер с PostgreSQL, MySQL и SQL Server?
Да, он обрабатывает стандартный SQL-синтаксис, который является общим для основных баз данных — PostgreSQL, MySQL, SQL Server (T-SQL), Oracle, SQLite и MariaDB. Форматтер фокусируется на базовом SQL, который работает везде: SELECT, JOIN, WHERE, GROUP BY и т.д.
Специфические для базы данных функции могут форматироваться не идеально. Например, синтаксис массивов PostgreSQL или собственные функции SQL Server могут не получить специальной обработки форматирования, но они также не сломают форматтер. Запрос всё равно будет более читаемым, чем был раньше.
Отправляется ли мой SQL-код на сервер?
Нет. Всё происходит в вашем браузере. Вставьте свой SQL, и он будет отформатирован локально без каких-либо сетевых запросов. Ваши запросы никогда не покидают вашу машину.
Это важно, когда вы работаете со схемами производственных баз данных или конфиденциальной бизнес-логикой. Нет риска, что конфиденциальная информация будет залогирована или сохранена на чьём-то сервере.
Может ли валидатор обнаружить все SQL-ошибки?
Совсем нет. Он обнаруживает структурные и синтаксические проблемы — отсутствующие скобки, незакрытые кавычки, неправильный порядок клаузул. Всё.
Он не узнает, если имена таблиц неверны, типы данных несовместимы или ваш запрос будет выполняться 10 минут. Для этого вам нужна ваша реальная база данных. Думайте о валидаторе как о проверке орфографии для SQL, а не о полном анализаторе запросов.
Зачем форматировать SQL, если база данных выполняет его в любом случае?
Базы данных не заботятся о форматировании — они анализируют запрос независимо от его вида. Но людям это важно. Когда вам нужно отладить неработающий запрос, изменить существующий или просмотреть чей-то SQL, правильное форматирование означает разницу между пониманием за 30 секунд или за 30 минут.
Отформатированный SQL также помогает обнаруживать логические ошибки. Когда структура ясна, вы можете увидеть, правильно ли вы объединили таблицы или поместили условия в нужное место.
Могу ли я настроить отступы или стиль ключевых слов?
Пока нет. Форматтер использует стандартные соглашения: ключевые слова в верхнем регистре, двухпробельный отступ, клаузулы на отдельных строках. Они следуют Руководству по стилю SQL, которое используют большинство команд.
Если вам нужно пользовательское форматирование (другая ширина отступов, ключевые слова в нижнем регистре), вам понадобится настраиваемый инструмент командной строки вроде sqlformat или среда разработки с настройками форматирования.
Будет ли это работать с хранимыми процедурами из 1000 строк?
Он отформатирует большие запросы, хотя очень сложные хранимые процедуры (более 1000 строк) могут обрабатываться несколько секунд. Форматтер обрабатывает SQL, который вы вставите, независимо от длины.
Для массивных хранимых процедур вам может потребоваться разбить их на меньшие части или использовать специализированную среду разработки для баз данных, оптимизированную для больших файлов.
Изменяет ли форматирование выполнение моего запроса?
Нет. Форматирование добавляет только пробелы и меняет регистр. База данных игнорирует и то, и другое. Отформатированный запрос возвращает точно такие же результаты и выполняется с такой же производительностью, как и неотформатированная версия.
Единственное исключение: если валидатор найдет реальные синтаксические ошибки (отсутствующие скобки и т.д.), исправление этих ошибок изменит поведение — но только с "не работает" на "работает корректно".
Какому SQL-стандарту следует форматтер?
Форматтер следует соглашениям SQL-92 с расширениями для распространенных функций в SQL:1999 и более поздних стандартах. Это охватывает SQL, который большинство разработчиков пишут ежедневно — SELECT-запросы, объединения, подзапросы, CASE-выражения, оконные функции.
Очень новые функции SQL из SQL:2016 или SQL:2019 могут быть не распознаны, но они не сломают форматтер. Вы просто получите базовое форматирование вместо специализированной обработки.
Могу ли я использовать это для Oracle PL/SQL или SQL Server T-SQL?
Для базовых запросов — да. Для процедурного кода (блоки PL/SQL, хранимые процедуры T-SQL с управляющим потоком) форматирование будет ограниченным. Инструмент фокусируется на операторах SELECT, INSERT, UPDATE, DELETE и их клаузулах.
Если вы интенсивно работаете со специфическим для базы данных процедурным кодом, родная среда разработки вашей базы данных (SQL Developer для Oracle, SSMS для SQL Server) обеспечит лучшее форматирование, понимающее полный синтаксис.
Справочные материалы и дополнительное чтение
- Руководство по стилю SQL от Саймона Холивелла - Фактический стандарт соглашений по форматированию SQL, используемый командами разработчиков
- Стандарт SQL ISO/IEC 9075 - Официная международная спецификация стандарта SQL
- Документация по синтаксису SQL PostgreSQL - Полный справочник по синтаксису SQL в PostgreSQL
- Справочник по Microsoft T-SQL - Официальная документация по диалекту T-SQL для SQL Server
- Справочное руководство MySQL - Полный справочник по SQL-инструкциям MySQL
Начните форматирование SQL
Читаемый SQL ускоряет отладку, упрощает код-ревью и делает совместную работу более гладкой. Вставьте свой запрос выше, чтобы увидеть его отформатированным согласно отраслевым стандартам — без установки, без настройки, без передачи данных за пределы вашего браузера.