EXCLUDE column_list
La cláusula EXCLUDE column_list asigna un nombre a las columnas que se excluyen de los resultados de la consulta. El uso de la opción EXCLUDE resulta útil cuando se necesita excluir solo un subconjunto de columnas de una tabla ancha, que es una tabla que contiene muchas columnas.
Sintaxis
EXCLUDE column_list
Parámetros
- column_list
-
Una lista separada por comas de uno o varios de los nombres de columna que existen en las tablas a las que hace referencia la consulta. De manera opcional, column_list se puede incluir entre paréntesis. En la lista de exclusiones de nombres de columna solo se admiten nombres de columna, no expresiones (como
upper(col1)
) o el asterisco (*).column-name, ... | ( column-name, ... )
Por ejemplo:
SELECT * EXCLUDE col1, col2 FROM tablea;
SELECT * EXCLUDE (col1, col2) FROM tablea;
Ejemplos
Los ejemplos siguientes utilizan la tabla SALES que contiene las columnas: salesid, listid, sellerid, buyerid, eventid, dateid, qtysold, pricepaid, commission y saletime. Para obtener más información sobre la tabla SALES, consulte Base de datos de muestra.
En el siguiente ejemplo, se devuelven filas de la tabla SALES, pero se excluye la columna SALETIME.
SELECT * EXCLUDE saletime FROM sales;
salesid | listid | sellerid | buyerid | eventid | dateid | qtysold | pricepaid | commission
--------+---------+----------+---------+---------+---------+----------+------------+-----------
150314 | 173969 | 48680 | 816 | 8762 | 1827 | 2 | 688 | 103.2
8325 | 8942 | 23600 | 1078 | 2557 | 1828 | 5 | 525 | 78.75
46807 | 52711 | 34388 | 1047 | 2046 | 1828 | 2 | 482 | 72.3
...
En el siguiente ejemplo, se devuelven filas de la tabla SALES, pero se excluyen las columnas QTYSOLD y SALETIME.
SELECT * EXCLUDE (qtysold, saletime) FROM sales;
salesid | listid | sellerid | buyerid | eventid | dateid | pricepaid | commission
--------+---------+----------+---------+---------+---------+------------+-----------
150314 | 173969 | 48680 | 816 | 8762 | 1827 | 688 | 103.2
8325 | 8942 | 23600 | 1078 | 2557 | 1828 | 525 | 78.75
46807 | 52711 | 34388 | 1047 | 2046 | 1828 | 482 | 72.3
...
En el siguiente ejemplo, se crea una vista que devuelve filas de la tabla SALES, pero excluye la columna SALETIME.
CREATE VIEW sales_view AS SELECT * EXCLUDE saletime FROM sales;
SELECT * FROM sales_view;
salesid | listid | sellerid | buyerid | eventid | dateid | qtysold | pricepaid | commission
--------+---------+----------+---------+---------+---------+----------+------------+-----------
150314 | 173969 | 48680 | 816 | 8762 | 1827 | 2 | 688 | 103.2
8325 | 8942 | 23600 | 1078 | 2557 | 1828 | 5 | 525 | 78.75
46807 | 52711 | 34388 | 1047 | 2046 | 1828 | 2 | 482 | 72.3
...
En el siguiente ejemplo, se seleccionan únicamente las columnas que no están excluidas de una tabla temporal.
SELECT * EXCLUDE saletime INTO TEMP temp_sales FROM sales;
SELECT * FROM temp_sales;
salesid | listid | sellerid | buyerid | eventid | dateid | qtysold | pricepaid | commission
--------+---------+----------+---------+---------+---------+----------+------------+-----------
150314 | 173969 | 48680 | 816 | 8762 | 1827 | 2 | 688 | 103.2
8325 | 8942 | 23600 | 1078 | 2557 | 1828 | 5 | 525 | 78.75
46807 | 52711 | 34388 | 1047 | 2046 | 1828 | 2 | 482 | 72.3
...