Neste artigo vamos recordar as principais consultas SQLs usadas em aplicações de banco de dados. |
Se você deseja saber mais sore SQL consulta a seção SQL do site neste link: http://www.macoratti.net/pageview.aspx?catid=25
Obs: Existe um minicurso de SQL específico para MS Access (um tanto antigo) em meu site que você acessar neste link : http://www.macoratti.net/cursosql.htm
Existem muitos dialetos SQL e dependendo do Banco de dados a sintaxe pode variar mas em regra geral as consultas mais usadas acabam sendo praticamente idênticas independentemente do SGBD usado.
Como as consultas SQL atuam contra um banco de dados a primeira coisa a fazer é possuir um banco de dados pronto ou criar um banco de dados para testar as consultas.
Na plataforma .NET o principal banco de dados usado é o SQL Server e vamos usar esse banco para as consultas que iremos apresentar.
Como
exemplo de um banco de dados SQL Server pronto para uso, você pode
baixar o banco de dados Northwind.mdf a partir deste link:
https://docs.microsoft.com/pt-br/dotnet/framework/data/adonet/sql/linq/downloading-sample-databases
Para poder gerenciar graficamente os banco de dados, tabelas, consultas, etc. vamos usar o SQL Server Management Studio (SSMS) que você pega aqui: shorturl.at/ajyLY
As consultas SQL podem ser executadas na janela de Consultas do SSMS que você cria clicando no botão Nova Consulta :
Para executar clique em : Excecutar
Agora vamos às consultas SQL:
1- Criar um banco de dados Vendas2020_DB
Create DATABASE Vendas2020_DB;
2- Criar uma tabela Clientes com seus atributos e tipos de dados com chave primária
Create Table Clientes
(
ClienteId int,
Nome nvarchar(200),
Endereco nvarchar (200),
Cidade nvarchar(100),
Cep char(10),
Pais nvarchar(100),
PRIMARY KEY(ClienteId)
);
|
A execução da consulta e o resultado obtido no SSMS:
Se a coluna ClienteId for definida como sendo do tipo Identity então ela será autoincremental.
3- Incluir dados na tabela Clientes
INSERT INTO [dbo].[Clientes] ([Nome],[Endereco],[Cidade],[Cep],[Pais])
VALUES( 'Macoratti','Rua Equador, 100','Lins','13258-000', 'Brasil');
|
4 - Atualizar o nome da cidade do cliente para 'Campinas' para o cliente de nome 'Macoratti';
Update Clientes set Cidade = 'Campinas' WHERE Nome = 'Macoratti';
|
5- Deletar o registro do cliente com id igual a 1
DELETE FROM [dbo].[Clientes] WHERE ClienteId = 1 |
6- Adicionar uma nova coluna chamada Salario do tipo decimal na tabela Clientes
ALTER TABLE Clientes ADD Salario decimal(18,2); |
Após isso vamos incluir alguns dados na tabela Clientes conforme abaixo:
7- Obter a data e a hora atual
select GetDate() as DataHoraAtual |
8- Extrair o mês, ano e data da data e hora atual (DATEPART)
SELECT DATEPART (YYYY, GETDATE()) as DataSistema , DATEPART(mm,getdate()) as Data, DATEPART(MONTH, GETDATE()) as Mes, DATEPART(YEAR, GETDATE()) as Ano ; |
9 - Calcular a média dos Salários da tabela Cliente usando DISTINCT
Select Avg( Distinct Salario) as SalarioMedio from Clientes |
10 - Realizando cálculos matemáticos
Operação | Consulta SQL |
Calcular o valor absoluto de 564.43 | Select ABS(564.43) |
Gerar um número aleatório | Select RAND |
Calcular a raiz quadrada de 1024 | Select SQRT(1024) |
Calcular o valor exponencial de 10 | Select EXP(10) |
Calcular a tangente de 12 | Select TAN(12) |
Calcular dois elevado a 3 | Select POWER(2,3) |
Calcular o cosseno de 67 | Select COS(67) |
Calcular o seno de 12 | Select SIN(12) |
Calcular o log de 10 | Select Log(10) |
Calcular o quadrado de 23 | Select SQUARE(23) |
11- Conta o total de clientes da tabela Clientes
Select COUNT(ClienteId) as TotalCLientes from Clientes
|
12- Obtém o valor do salário mais alto
Select MAX(Salario) as SalarioMaximo from Clientes |
13- Aplicar um reajuste de 10% a todos os salários dos clientes
select Salario*1.10 as NovoSalario from Clientes |
14- Exibir todos os clientes cujo salario esta entr na faixa de R$ 2000,00
|
15 - Selecionar os Clientes com salário maior que R$ 2000,00
select Nome, Salario from [Clientes] where Salario > 2000.00
|
16- Listar o nome dos Clientes cuja primeira letra do nome inicia com a letra
select * from [Clientes] where Nome like 'A%'; |
17 - Listar os clientes em ordem decrescente de valor de salário
SELECT * FROM Clientes ORDER BY Salario DESC |
Temos assim um resumo das consultas SQL mais usadas.
E estamos conversados...
Cantarei ao Senhor, porquanto me tem feito muito bem."
Salmos 13:5,6
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Visual Studio - Dica de produtividade - Quick Launch - Macoratti.net
Visual Studio - Dica de produtividade - Nuget - Macoratti.net
C# - Usando Listas com elegância - Macoratti
C# - Trabalhando com Coleções Genéricas do tipo List(<T>)
C# - Diferentes maneira de criar uma lista de objetos - Macoratti
C# - Acessando dados de um dicionário ordenado - Macoratti
C# - Usando um Dicionário para armazenar e ... - Macoratti
C# - Escolhendo a coleção correta para sua ... - Macoratti