Выбор констант без обращения к таблице совершенно допустим в выражении SQL:
SELECT 1, 2, 3
Результирующий набор, который возвращает последний, представляет собой одну строку, содержащую значения. Мне было интересно, если есть способ выбрать несколько строк одновременно, используя константное выражение, что-то вроде:
SELECT ((1, 2, 3), (4, 5, 6), (7, 8, 9))
Я хотел бы что-то вроде выше, что работает и возвращает набор результатов с 3 строками и 3 столбцами.
Ответы:
источник
AS
чтобы дать псевдонимы на первомSELECT
Classic Report
таблиц со статическим содержимым, если они заполнены значениямиFROM dual
после каждогоSELECT
, и до,UNION ALL
если они присутствуют.В
PostgreSQL
, вы можете сделать:В других системах просто используйте
UNION ALL
:В
Oracle
,SQL Server
иPostgreSQL
вы также можете генерировать наборы записей из произвольного числа строк (предоставляется с помощью внешней переменной):в
Oracle
,в
SQL Server
,в
PostgreSQL
.источник
SELECT 1
в Oracle (SELECT 1 FROM Dual
сработало).Следующая
VALUES
команда работает в PostgreSQL:источник
Попробуй пункт connect by в оракуле, как то так
Для получения дополнительной информации о подключении по предложению перейдите по этой ссылке: удаленный URL-адрес, поскольку сайт oraclebin теперь является вредоносным.
источник
Для Microsoft SQL Server или PostgreSQL вы можете попробовать этот синтаксис
SELECT constants FROM (VALUES ('foo@gmail.com'), ('bar@gmail.com'), ('baz@gmail.com')) AS MyTable(constants)
Вы также можете просмотреть SQL Fiddle здесь: http://www.sqlfiddle.com/#!17/9eecb/34703/0
источник
Oracle. Благодаря этому посту PL / SQL - используйте переменную «List» в пункте Where In
Я собрал свой пример, чтобы легко вводить значения вручную (будучи использованным при тестировании приложения тестерами):
источник
источник
Вот как я заполняю статические данные в Oracle 10+, используя аккуратный трюк XML.
Объединение вставляет только те строки, которые отсутствуют в исходной таблице, что удобно, если вы хотите перезапустить сценарий вставки.
источник
Опция для DB2:
источник
В Oracle
источник
Вот как это сделать, используя возможности XML DB2
источник
Этот способ может помочь вам
Any_Table_In_Your_DataBase:
любая таблица, которая содержит более 3 записей, или использовать любую системную таблицу. Здесь мы не имеем никакого отношения к данным этой таблицы.Вы можете вносить изменения в набор результатов, объединяя столбец с первым, вторым и третьим столбцами из
Any_Table_In_Your_DataBase
таблицы.источник
В MySQL вы можете сделать:
values (1,2), (3, 4);
С MySQL 8 также возможно дать имена столбцов:
источник
что-то такое
источник