Select

La selección de campos desde una fuente de datos ODBC o proveedor OLE DB se realiza mediante sentencias SQL SELECT estándar. No obstante, si las sentencias SELECT se aceptan depende del controlador ODBC o proveedor OLE DB utilizado.

Syntax:  

Select [all | distinct | distinctrow | top n [percent] ] fieldlist

From tablelist

[where criterion ]

[group by fieldlist [having criterion ] ]

[order by fieldlist [asc | desc] ]

[ (Inner | Left | Right | Full) join tablename on fieldref = fieldref ]

 

A veces se pueden concatenar varias sentencias SELECT en una sola mediante el uso de un operador union:

selectstatement Union selectstatement

 

La sentencia SELECT es interpretada por el driver ODBC o proveedor OLE DB, así que podrían producirse desviaciones de la sintaxis SQL general según las capacidades de los drivers ODBC o del proveedor OLE DB, por ejemplo:

  • as a veces no se permite, es decir, aliasname debe ir inmediatamente después de fieldname.
  • as a veces es obligatorio si se usa un aliasname.
  • distinct, as, where, group by, order by o union a veces no son compatibles.
  • El driver ODBC a veces no acepta todos los símbolos de comillas enunciados anteriormente.
Nota: ¡Esta no es una descripción completa de la sentencia SQL SELECT! Por ej. las sentencias SELECT se pueden anidar, se pueden hacer varias uniones en una sentencia SELECT, la cantidad de funciones permitidas en las expresiones a veces es muy grande, etc.

Arguments:  

Argumento Descripción
distinct distinct se utiliza un predicado si las combinaciones duplicadas de valores en los campos seleccionados solo se deben cargar una vez.
distinctrow distinctrow es un predicado utilizado si los registros duplicados en la tabla de origen solo deberían cargarse una vez.
fieldlist fieldlist ::= (*| field ) {, field }

Una lista de los campos que se van a seleccionar. Usar * como una lista de campos indica todos los campos de la tabla.

fieldlist ::= field {, field }

Una lista de uno o más campos, separados por comas.

field ::= ( fieldref | expression ) [as aliasname ]

La expresión puede ser una función numérica o de cadena basada en uno o varios campos. Algunos de los operadores y funciones generalmente aceptados son: +, -, *, /, & (concatenación de cadenas), sum(fieldname), count(fieldname), avg(fieldname)(average), month(fieldname), etc. Consulte la documentación del driver ODBC para más información.

fieldref ::= [ tablename. ] fieldname

tablename y fieldname son cadenas de texto idénticas a lo que implican. Deben estar entre comillas dobles rectas si contienen por ej. espacios.

La cláusula as se usa para asignar un nuevo nombre al campo.
from tablelist ::= table {, table }

La lista de las tablas de las que se van a seleccionar los campos.

table ::= tablename [ [as ] aliasname ]

tablename puede ir o no entre comillas.

From

where where es una cláusula utilizada para indicar si un registro debe incluirse en la selección o no.

criterion es una expresión lógica que a veces puede ser muy compleja. Algunos de los operadores aceptados son: operadores y funciones numéricas, =, <> o #( no igual), >, >=,<, <=, and, or, not, exists, some, all, in y también nuevas sentencias SELECT. Consulte la documentación del driver ODBC o proveedor OLE DB para más información.

group by group by es una cláusula utilizada para agregar (agrupar) varios registros en uno. Dentro de un grupo, para un determinado campo, todos los registros deben tener el mismo valor, o el campo sólo podrá utilizarse desde dentro de una expresión, p.ej. como una suma o una media. La expresión basada en uno o varios campos se define en la expresión del símbolo de campo.
having having es una cláusula que se usa para calificar grupos de una manera similar a como se usa la cláusula where para calificar registros.
order by order by es una cláusula que se utiliza para indicar el criterio de ordenación de la tabla resultante de la sentencia SELECT.
join join es un cualificador que indica si se deben unir varias tablas en una. Los nombres de campo y los nombres de tabla deben estar entre comillas si contienen espacios en blanco o letras de los juegos de caracteres nacionales. Cuando el script es generado automáticamente por Qlik Sense, el símbolo de comillas utilizado es el preferido del driver ODBC o el proveedor de OLE DB, especificados en la definición de la fuente de datos de la sentencia Connect.

Example 1:  

SELECT * FROM `Categories`;

Example 2:  

SELECT `Category ID`, `Category Name` FROM `Categories`;

Example 3:  

SELECT `Order ID`, `Product ID`,

`Unit Price` * Quantity * (1-Discount) as NetSales

FROM `Order Details`;

Example 4:  

SELECT `Order Details`.`Order ID`,

Sum(`Order Details`.`Unit Price` * `Order Details`.Quantity) as `Result`

FROM `Order Details`, Orders

where Orders.`Order ID` = `Order Details`.`Order ID`

group by `Order Details`.`Order ID`;

See also: