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. O uso da instrução SELECT requer uma conexão de dados aberta com a origem.
[ (Inner | Left | Right | Full) jointablenameonfieldref = 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 informativaEssa 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.
Argumentos:
Argumentos
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.
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.
Exemplo 1:
SELECT * FROM `Categories`;
Exemplo 2:
SELECT `Category ID`, `Category Name` FROM `Categories`;
Exemplo 3:
SELECT `Order ID`, `Product ID`,
`Unit Price` * Quantity * (1-Discount) as NetSales
FROM `Order Details`;
Exemplo 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`
Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!