Select

A seleção de campos de uma fonte de dados ODBC ou provedor OLE DB é feita usando declarações SQL SELECT padrão. No entanto, a aceitação dos comandos SELECT dependem do driver ODBC ou provedor OLE DB utilizados.

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 ]

 

Além disso, vários comandos SELECT podem ser concatenados por meio do uso de um operador union:

selectstatement Union selectstatement

 

O comando SELECT é interpretado pelo driver ODBC ou provedor OLE DB, portanto, os desvios da sintaxe geral de SQL podem ocorrer dependendo das capacidades dos drivers ODBC ou provedor OLE DB, por exemplo:

  • as algumas vezes não é permitido, isto é, aliasname deve aparecer imediatamente após fieldname.
  • as algumas vezes é obrigatório se aliasname for utilizado.
  • distinct, as,where, group by, order by ou union às vezes não são compatíveis.
  • Algumas vezes, o driver ODBC não aceita todos os diferentes sinais de aspas listados acima.
Nota: Essa não é uma descrição completa do comando SQL SELECT! Por exemplo, os comandos SELECT podem ser aninhados, várias junções podem ser feitas em um comando SELECT, o número de funções permitidas nas expressões é às vezes muito grande etc.

Arguments:  

Argumento Descrição
distinct distinct é um predicado utilizado caso as combinações de valores duplicadas nos campos selecionados devam ser carregadas somente uma vez.
distinctrow distinctrow é um predicado utilizado caso os registros duplicados na tabela fonte devam ser carregados somente uma vez.
fieldlist fieldlist ::= (*| field ) {, field }

Uma lista dos campos a serem selecionados. O uso de * como lista de campos indica todos os campos da tabela.

fieldlist ::= field {, field }

Uma lista de um ou mais campos, separados por vírgulas.

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

A expressão pode por exemplo ser uma função numérica ou de caracteres (string) baseada em um ou vários outros campos. Alguns dos operadores e funções geralmente aceitos são: +, -, *, /, & (concatenação de cadeia de caracteres), sum(fieldname), count(fieldname), avg(fieldname)(average), month(fieldname), etc. Consulte a documentação do driver ODBC para obter mais informações.

fieldref ::= [ tablename. ] fieldname

As strings tablename e fieldname são strings de texto idênticas ao que implicam. Devem vir entre aspas duplas retas, se contiverem, por exemplo, espaços.

A cláusula as é usada para atribuir um novo nome ao campo.
from tablelist ::= table {, table }

A lista de tabelas na qual os campos devem ser selecionados.

table ::= tablename [ [as ] aliasname ]

O tablename pode ou não ser colocado entre aspas.

From

where where é uma cláusula utilizada para declarar se um registro deve ou não ser incluído na seleção.

criterion é uma expressão lógica que pode ser, algumas vezes, muito complexa. Alguns dos operadores aceitos são: operadores e funções numéricos, =, <> ou #(not equal), >, >=, <, <=, and, or, not, exists, some, all, in e também novos comandos SELECT. Consulte a documentação do driver ODBC ou provedor OLE DB para obter mais informações.

group by group by é uma cláusula utilizada para agregar (agrupar) vários registros em um. Dentro de um grupo, para um determinado campo, todos os registros devem ter o mesmo valor ou o campo somente poderá ser usado a partir de uma expressão, como uma soma ou média. A expressão com base em um ou vários campos é definida na expressão do símbolo do campo.
having having é uma cláusula usada para qualificar grupos de maneira semelhante à forma como a cláusula where é usada para qualificar registros.
order by order by é uma cláusula utilizada para declarar a ordem de classificação da tabela resultante do comando SELECT.
join join é um qualificador que define se várias tabelas devem ser combinadas em uma. Nomes de campos e de tabelas devem ser colocados entre aspas se contiverem espaços em branco ou letras dos conjuntos nacionais de caracteres. Quando o script é gerado automaticamente pelo Qlik Sense, as aspas utilizadas são as preferidas pelo driver ODBC ou provedor OLE DB especificados na definição da fonte de dados no comando 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: