Как пользоваться: Генератор условия SQL IN
- Вставьте значения: скопируйте столбец из Excel или Google Таблиц либо вставьте список через запятую.
- Выберите форму вывода, имя столбца и таблицы, а также нужен ли оператор
NOT IN. - Кавычки расставляются автоматически: числа остаются без кавычек, текст заключается в одинарные кавычки, апострофы экранируются.
- Скопируйте SQL в свой запрос. Для Oracle используйте группы по 1000.
Что такое условие SQL IN?
Оператор IN проверяет, совпадает ли значение с любым элементом списка. Это сокращённая запись цепочки условий OR, и обычно он применяется, когда нужно выбрать пачку записей по уже известным ID, например столбец номеров заказов, присланный вам в таблице:
SELECT *
FROM orders
WHERE id IN ('A-1001', 'A-1002', 'B-2040');
Расставлять кавычки и запятые вручную для сотен значений долго и легко ошибиться. Этот генератор делает всё за одну вставку.
Кавычки и экранирование
| Ввод | Автоматические кавычки |
|---|---|
1001, 1002 (все числа) | (1001, 1002) |
A-1001, B-2040 | ('A-1001', 'B-2040') |
O'Neil | 'O''Neil' — апостроф удваивается |
| Юникод-текст в SQL Server | N'Zoë' с опцией префикса N |
Используйте режим Всегда, если столбец, похожий на числовой, хранится как текст (например, почтовые индексы или номера телефонов). Тогда база данных не будет преобразовывать типы и сможет использовать индекс.
Ограничения в разных СУБД
- Oracle допускает не более 1 000 выражений в одном списке IN (ошибка ORA-01795). Задайте группы по 1 000, и генератор объединит их оператором
OR. - SQL Server не имеет фиксированного лимита, но запросы с многими тысячами значений разбираются медленно; лучше использовать временную таблицу или табличный параметр.
- MySQL ограничен параметром
max_allowed_packet; PostgreSQL также принимает массив:WHERE id = ANY('{1,2,3}').
Важно о безопасности
Вставлять сгенерированные списки в клиент базы данных для разовых запросов нормально. В коде приложения никогда не собирайте SQL конкатенацией пользовательского ввода — используйте параметризованные запросы. Длинные запросы отформатируйте с помощью SQL Formatter, а повторяющиеся строки в других списках удалите с помощью Remove Duplicate Lines.
Также ищут как: where in генератор, excel в sql in, условие in sql, перечисление в sql where in, in clause генератор.
Инструменты, которые хорошо сочетаются с Генератор условия SQL IN
- Генератор CREATE TABLE — Настройте таблицу по столбцам: типы, первичный ключ, NOT NULL, UNIQUE, автоинкремент и значения по умолчанию.
- CSV и Excel в SQL — Вставьте ячейки CSV или Excel либо откройте файл .xlsx и получите готовые к выполнению операторы CREATE TABLE и INSERT с корректно экранированными значениями для вашей базы данных.
- SQL в JSON, CSV и Excel — Вставьте SQL-дамп или несколько выражений INSERT и получите строки в виде JSON, CSV или книги Excel с отдельным листом для каждой таблицы.
- Excel в JSON — Откройте книгу .xlsx или вставьте ячейки прямо из Excel или Google Sheets и получите чистый JSON.