Comando SELECT
|
|
O comando SELECT é utilizado para extrair dados de uma ou mais tabelas do banco de dados do Hipercusto. Sua sintaxe básica é:
SELECT [ Limite ] Campos
FROM Tabela(s)
[ Condição de União ]
[ WHERE Condição de pesquisa ]
[ GROUP BY Agrupamento ]
[ HAVING Condição de Seleção ]
[ ORDER BY Ordenação ]
Onde:
- Limite: Indica a limitação dos registros que devem ser retornados. Se esse parâmetro não for especificado então serão retornados todos os registros de acordo com o restante do comando. As opções para esta instrução são:
- DISTINCT: retorna apenas os registros que não forem duplicados
- ALL : retorna todos os registros
- TOP N : retorna apenas os primeiros N registros.
- TOP N , X: retorna apenas os primeiros N registros após o registro X.
- TOP N PERCENT: retorna apenas os primeiros N porcento dos registros obtidos.
- Campos: indica o nome dos campos que deverão ser extraídos do banco de dados. Aqui você poderá usar um * para informar que deseja que todos os campos sejam retornados.
- Tabela(s): indica o nome de uma ou mais tabelas onde os dados devem ser pesquisados. Se mais de uma tabela for informada então deverá ser informado a cláusula de união das mesmas na instrução WHERE.
- Condição de União: também é possível informar mais de uma tabela a ser pesquisada utilizando as seguintes cláusulas de união:
- JOIN tabela ON condição : une a tabela especificada aqui com a tabela principal obedecendo a condição especificada. O registro indicado pela condição deverá existir nas duas tabelas para que os mesmos sejam retornados.
- LEFT JOIN tabela ON condição : similar a opção acima, porém o registro principal será retornado mesmo que ele não exista na segunda tabela.
- RIGH JOIN tabela ON condição : oposta a condição acima.
- Condição de pesquisa: indica a condição que deverá ser atendida para que o registro seja selecionado. Aqui você poderá utilizar:
- > : maior que
- < : menor que
- = : igual a
- >= : maior ou igual a
- <= : menor ou igual a
- BETWEEN : entre dois valores
- AND : cláusula e
- OR : cláusula ou
- IN : cláusula em
- EXISTS : cláusula existe em
- LIKE : cláusula contém (aqui você poderá usar os caracteres % ou _
- Agrupamento: indica a cláusula de agrupamento dos registros e é necessária apenas quando você efetuar operações de totalização, média ou contagem registros através das funções SUM, AVG, MIN, MAX, COUNT, MED, STD e LIST.
- Condição de Seleção: indica a condição que deverá ser atendida para que o registro obtido seja retornado para o usuário.
- Ordenação: indica a ordem em que os registros deverão ser ordenados.
Veja alguns exemplos de comandos SQL:
Exemplo 1: retorna todos os campos do arquivo de matéria-prima:
SELECT * FROM HIP0060A
Exemplo 2: retorna apenas os campos código, descrição e unidade de medida da matéria-prima com o código 001:
SELECT mpCODIGO, mpDESCRICAO, mpUNIDADE FROM HIP0060A WHERE CODIGO = '001'
Exemplo 3: Conta quantos registros existem no arquivo de matérias-primas:
SELECT COUNT(*) FROM HIP0060A
Exemplo 4: Totaliza todas as vendas realizadas no mês de janeiro/2014:
SELECT SUM(hvVLR_FINAL) VENDAS
FROM HIP0051R
WHERE hvSTATUS = 'V' AND
hvDATA BETWEEN CAST('2014-01-01 00:00:00' AS DATETIME)
AND CAST('2014-01-31 23:59:59' AS DATETIME)
Exemplo 5: Totaliza todas as vendas realizadas para cada cliente no mês de janeiro/2014 retornado apenas os clientes cujo valor total seja superior a R$ 10.000,00 sendo que após totalizado os registros serão retornados em ordem alfabética pela razão social do cliente:
SELECT VD.clCODIGO, CL.clRAZAO_SOCIAL, SUM(VD.hvVLR_FINAL) VENDAS
FROM HIP0051R VD
LEFT JOIN HIP0095A CL ON CL.clCODIGO = VD.clCODIGO
WHERE VD.hvSTATUS = 'V' AND
VD.hvDATA BETWEEN CAST('2014-01-01 00:00:00' AS DATETIME)
AND CAST('2014-01-31 23:59:59' AS DATETIME)
GROUP BY VD.clCODIGO, CL.clRAZAO_SOCIAL
HAVING SUM(VD.hvVLR_FINAL) > 10000
ORDER BY CL.clRAZAO_SOCIAL
|
|