Comecei na área de TI há um bom tempo (1991) com aqueles cursos de MS-DOS 6.22, WordStar, Lotus123, Dbase III Plus, etc. Adorei programar em Dbase III Plus utilizando Dbf; achei fantástico quando aprendi a programar em Clipper Summer 87 e posteriormente Clipper 5.x, que era muito estável em rede utilizando Novell NetWare. Desde então sou um fanático por TI. Hoje desenvolvo aplicações para Windows, Android, OS X e Linux utilizando Lazarus (free Pascal) .
Blogueiro (www.infocotidiano.com.br, www.aprendalazarus.com.br, www.startdb.info). Além dos meus Blogs tenho um canal no YouTube o www.youtube.com.br/infocotidiano onde tenho mais de 1 Milhão de visualizações com vídeos de dicas diversificadas que vão desde solucionar um erro de impressão, curso sobre banco de dados, até criar software multi-plataforma utilizando o Lazarus.
Em uma tabela, uma coluna pode conter muitos valores duplicados e às vezes você só quer listar os diferentes (distintos) valores.
A palavra-chave DISTINCT pode ser usada para retornar somente valores distintos (diferentes).
Exemplo 01: select distinct CLI_END from CLIENTE
Exemplo 02: select distinct CIDADE.CID_NOME from CLIENTE, CIDADE Where CIDADE.CID_CODIGO = CLIENTE.CLI_CIDADE
►► Clique em curtir e ajude a divulgar o meu trabalho ! ◄◄
Stored Procedure é uma coleção de comandos em SQL para otimização de Banco de dados. Encapsular tarefas repetitivas, aceita parâmetros de entrada e retorna um valor de status.
►► Confira os exemplos abaixo: ◄◄
Neste vídeo vamos criar os seguintes procedimentos:
BEGIN /* write your code here */ nTOTAL = nValor1 + nValor2; END^
SET TERM ; ^
Exemplo 2 – Atualizar preço de produto com calculo percentual:
SET TERM ^ ;
CREATE PROCEDURE stAtualizaValor ( nCodigo, nPercentual ) AS BEGIN /* write your code here */ update PRODUTO set PRODUTO.PRO_VALOR = PRODUTO.PRO_VALOR + ((PRODUTO.PRO_VALOR * :nPERCENTUAL)/100) Where PRODUTO.PRO_CODIGO = :nCODIGO; END^
SET TERM ; ^
Exemplo 3 – Incluir, Alterar ou Excluir registros:
SET TERM ^ ; ALTER PROCEDURE EDTPRODUTO ( CTIPO varchar(1), NCODIGO integer, CDESCRICAO varchar(20), NVALOR numeric(6,2), NGRUPO integer ) AS BEGIN /* write your code here */ if (cTipo = ‘I’) then insert into PRODUTO (PRODUTO.PRO_CODIGO,PRODUTO.PRO_NOME, PRODUTO.PRO_VALOR, PRODUTO.PRO_GRUPO) values (:nCODIGO, :cDESCRICAO, :nVALOR, :nGRUPO); else if (cTIPO = ‘A’) then update PRODUTO set PRODUTO.PRO_NOME = :cDESCRICAO, PRODUTO.PRO_GRUPO= :nGRUPO, PRODUTO.PRO_VALOR= :nVALOR where PRODUTO.PRO_CODIGO = :nCODIGO; else if (cTIPO = ‘E’) then delete from PRODUTO where PRODUTO.PRO_CODIGO = :nCODIGO; suspend; END^ SET TERM ; ^
select i.IPED_PRODUTO as Codigo, p.PRO_NOME as Descricao, sum(i.IPED_QTDE) as Quantidade,avg( i.IPED_UNITARIO) as Un_Medio, ( sum(i.IPED_QTDE) * avg(i.IPED_UNITARIO)) as Total from Produto P, ITEMPEDIDO I where p.PRO_CODIGO = i.IPED_PRODUTO group by i.IPED_PRODUTO, p.PRO_NOME
Vou mostrar como somar registros como produtos vendidos, agrupando campos com a cláusula GROUP BY.
select i.IPED_PRODUTO as Codigo, p.PRO_NOME as Descricao, sum(i.IPED_QTDE) as Quantidade, i.IPED_UNITARIO as Unitario, sum(i.IPED_QTDE * i.IPED_UNITARIO) as Total from Produto P, ITEMPEDIDO I where p.PRO_CODIGO = i.IPED_PRODUTO group by i.IPED_PRODUTO, p.PRO_NOME, i.IPED_UNITARIO
► Ajude a manter este canal no ar, clique em GOSTEI !◄
Neste vídeo
vou mostrar como selecionar registros extraindo dias, meses ou anos.
exemplo todos clientes nascidos em agosto .. ou todos nascidos em
determinado dia e mês…
— nascidos no mês 08 de qualquer ano ou dia select * from cliente where EXTRACT (Month FROM CLI_DTNAS) = 8;
— nascidos entre o mes 4 e 8 select * from cliente where EXTRACT (Month FROM CLI_DTNAS) between 4 and 8;
— nascidos no dia 03 do mês 08 de qualquer ano select * from cliente where EXTRACT (Month FROM CLI_DTNAS) = 8 and EXTRACT (DAY FROM CLI_DTNAS) = 3;
–Exibir nome do cliente e realizar calculo de idade select CLI_NOME as NOME, (EXTRACT (Year FROM CURRENT_DATE) – EXTRACT (Year FROM CLI_dtnas)) as Idade from CLIENTE
O operador UNION é usado para combinar o conjunto de resultados de duas ou mais instruções SELECT.
Observe
que cada instrução SELECT no UNION deve ter o mesmo número de colunas.
As colunas também devem ter tipos de dados semelhantes. Além disso, as
colunas em cada instrução SELECT devem estar na mesma ordem.
Script exemplo:
Aliases SQL são usados para fornecer a uma tabela de banco de dados ou a uma coluna em uma tabela, um nome temporário. Basicamente aliases são criados para tornar os nomes das colunas mais legíveis.