Query prototyping mit dem "values" Schlüsselwort

Mo 16 Jänner 2017

Filed under Blog

Tags Postgres

Manchmal hat man das Bedürfnis schnell ein Feature zu testen, damit man sehen kann wie sich dieses Feature verhält und will nicht immer eine eigene Tabelle mit Werten anlegen. Für diesen Zweck ist eignet sich das „values“-Schlüsselwort sehr gut. Es ermöglicht Abfragen zu schreiben ohne Tabelle anlegen zu müssen

SELECT test FROM ( VALUES ('value 1a', 'value 1b'),
('value 2a', 'value 2b') , ('value 3a', 'value 1b')) as test

Diese Abfrage liefert jetzt allerdings einen Typ “record“. Daher ist es durchaus sinnvoll den Namen der Spalten zu spezifizieren.

SELECT column_1, column_2 FROM ( VALUES ('value 1a', 'value 1b'),
('value 2a', 'value 2b') , ('value 3a', 'value 1b')) as test
(column_1, column_2)

So ist es einfacher möglich auf die einzelnen Spalten zuzugreifen und man könnte jetzt auch z.B. Aggregatfunktionen testen

SELECT count(distinct column_1), count(distinct column_2) FROM
( VALUES ('value 1a', 'value 1b'), ('value 2a', 'value 2b'),
('value 3a', 'value 1b')) as test
(column_1, column_2)

Diese Beispiele waren natürlich sehr simpel gehalten, aber ich denke man sieht schön wie man mit „values“ einfach und effizient „Query prototyping“ betreiben kann.



Über die Seite

Die Inhalte der Seite stehen unter einer Creative Commons Namensnennung 4.0 International Lizenz zur Verfügung Creative Commons Lizenzvertrag

Powered by Pelican and Twitter Bootstrap. Icons by Font Awesome and Font Awesome More