17/07/2023, 12:50 SQL - Consultas SQL Básicas no SQL Server
SQL - Consultas SQL Básicas no SQL Server - I
Neste artigo vou apresentar as consultas
básicas mais usadas no SQL Server.
Este artigo será essencialmente prático e vai usar o banco de dados SQL Server 2012 para exibir as principais consultas
usadas no SQL Server.
Nota: O funcionamento nos demais bancos de dados relacionais pode ser diferente incluindo o MS Access.
Atualmente, o SQL é usado principalmente por programadores que usam comandos SQL com sua linguagem para
construir aplicativos que acessam dados em um banco de dados.
Existem quatro operações fundamentais que se aplicam a qualquer banco de dados:
- Ler os dados - SELECT
- Inserir novos dados - INSERT
- Atualizar dados existentes - UPDATE
- Remover dados - DELETE
Essas operações são conhecidas como CRUD (Create, Read, Update, Delete).
Vamos usar o Server Explorer, um recurso disponível no Visual Studio 2017, para realizar as operações com o banco de
dados SQL Server.
Para exibir o Server Explorer clique no menu View -> Server Explorer
Você verá a janela do Server Explorer exibindo os banco de dados, servidores e conexões existentes:
1- Criando um banco de dados
Abra o Server Explorer e clique com o botão direito sobre o item Data Connections;
No menu suspenso clique em Create New SQL Server Database...
Na próxima janela informe o nome do servidor, escolha o tipo de autenticação e informe o nome do banco de dados
que deseja criar.
Abaixo temos os dados usados neste artigo:
[Link] 1/14
17/07/2023, 12:50 SQL - Consultas SQL Básicas no SQL Server
servidor : Macoratti
banco de dados : EstudoDataBase
tipo de autenticação : Windows Authentication
Ao final você verá o banco de dados criado na janela do Server Explorer:
2- Criando a tabela Funcionarios
Clique com o botão direito do mouse sobre o item Tables e selecione a opção : Add New Table
Na janela do descritor da tabela informe as o nome das colunas e o Data Type conforme mostra a figura abaixo:
[Link] 2/14
17/07/2023, 12:50 SQL - Consultas SQL Básicas no SQL Server
Para definir a coluna Id como do tipo Identity, selecione a coluna e clique com o botão direito do mouse e abra a janela
Properties. A seguir em Identity Specification informe o valor True.
Nota: Voce pode usar o script gerado para criar a tabela diretamente no SQL Server Management Studio.
Para criar a tabela informe o nome Funcionarios e clique em Update no canto superior esquerdo da janela do descritor e
a seguir clique no botão : Update Database
Após atualizar a exibição você verá na janela Server Explorer a tabela Funcionarios com as colunas criadas :
[Link] 3/14
17/07/2023, 12:50 SQL - Consultas SQL Básicas no SQL Server
3- Inserindo dados na tabela
Para inserir dados em uma tabela usamos a instrução SQL INSERT INTO.
Sintaxe :
INSERT INTO NOME_TABELA (coluna1, coluna2, coluna3,...colunaN)] VALUES (valor1, valor2,...valorN);
Você não precisa especificar o nome das colunas na consulta SQL se estiver adicionando valores para todas as colunas
da tabela. Tenha apenas a certeza de que a ordem dos valores esteja na mesma ordem das colunas na tabela. A sintaxe
SQL INSERT INTO, neste caso, seria a seguinte:
INSERT INTO NOME_TABELA VALUES (valor1,valor2,valor3,...valorN);
Para incluir dados na tabela clique com o botão sobre a tabela Funcionarios e a seguir clique em New Query.
Na janela de consultas inclua a consulta SQL para incluir dados conforme abaixo:
[Link] 4/14
17/07/2023, 12:50 SQL - Consultas SQL Básicas no SQL Server
Para executar clique no ícone Execute no canto superior esquerdo; se tudo deu certo você verá uma mensagem : (1
row(s) affected) indicando que os dados foram incluidos na tabela.
Observe que na consulta eu não informei a coluna Id pois ela é do tipo identity e é icrementada automaticamente.
Podemos informar mais de uma instrução SQL INSERT INTO na janela de consultas:
4- Consultando dados com SELECT
Podemos consultar os dados de uma tabela usando a instrução SELECT.
Sintaxe:
SELECT coluna1, coluna2, colunaN FROM nome_tabela;
Aqui, coluna1, coluna2 ... são os campos de uma tabela cujos valores você deseja buscar.
Se você quiser buscar todos os campos disponíveis no campo, poderá usar a seguinte sintaxe:
SELECT * FROM nome_tabela;
Para exibir todos os registros da tabela Funcionarios temos a seguinte consulta:
Vemos que temos 5 linhas na tabela ou 5 registros.
5- Selecionando valores distintos com SELECT DISTINCT
[Link] 5/14
17/07/2023, 12:50 SQL - Consultas SQL Básicas no SQL Server
Podemos usar a instrução SELECT DISTINCT para retornar somente colunas com valores diferentes. Havendo colunas
com valores duplicados podemos exibir somente os valores distintos.
Para o exemplo vamos exibir somente as colunas Idade com valores diferentes:
Note que exibimos apenas 4 linhas pois existem dois registros com a coluna Idade com valor igual a 28.
Para saber o número de linhas com valores distintos usamos COUNT(DISTINCT COLUNA) :
6- Ordenando a exibição com ORDER BY
Podemos ordernar a exibição da consulta com SELECT incluindo a cláusula ORDER BY.
Por padrão é usada a ordem Ascendente(ASC) para aplicar a ordem descendente use a palavra-chave DESC:
[Link] 6/14
17/07/2023, 12:50 SQL - Consultas SQL Básicas no SQL Server
Podemos realizar a ordenação com mais de uma coluna : ODERB BY Coluna1, Coluna2, etc...
7- Filtrando registros com a cláusula WHERE
Usamos a cláusula WHERE para filtrar registros. Ela é usada para extrair apenas os registros que atendem a uma
condição especificada podendo se usada com as instruções SELECT, UPDATE, etc.
Sintaxe:
SELECT coluna1, coluna2, ...
FROM nome_tabela
WHERE condição;
Como exemplo vamos filtrar os funcionários com idade superior a 30 anos:
[Link] 7/14
17/07/2023, 12:50 SQL - Consultas SQL Básicas no SQL Server
Ao definir a condição da cláusula WHERE quando a coluna for uma string devemos incluir o valor entre aspas simples :
Ex: Select * from Funcionarios WHERE Nome='Macoratti'
Podemos usar outros operadores além do operador de igualdade(=). Abaixo temos uma relação dos principais
operadores usados com a cláusula WHERE :
Operador Descrição
= Igual
<> Não Igual (Outra notação usada !=)
> Maior que
< Menor que
>= Maior que ou Igual
<= Menor que ou Igual
BETWEEN Entre um intervalo
LIKE Procura por um critério definido
IN Para especificar valores múltiplos para uma coluna
Além desses operadores podemos usar os operadores AND, OR e NOT.
Os operadores AND e OR são usados para filtrar registros com base em mais de uma condição:
O operador AND exibe um registro se todas as condições separadas por AND forem verdadeiras.
O operador OR exibe um registro se alguma das condições separadas por OR for TRUE.
O operador NOT exibe um registro se as condições não forem verdadeiras.
Sintaxe AND:
SELECT coluna1, coluna2, ...
FROM nome_tabela
WHERE condição1 AND condição2 AND condição3 ...;
[Link] 8/14
17/07/2023, 12:50 SQL - Consultas SQL Básicas no SQL Server
Sintaxe OR :
SELECT coluna1, coluna2, ...
FROM nome_tabela
WHERE condição1 OR condição2 OR condição3 ...;
Sintaxe NOT:
SELECT coluna1, coluna2, ...
FROM nome_tabela
WHERE NOT condição;
Como exemplo vamos listar os funcionários cuja idade não é igual a 28.
Outro exemplo de consulta mostra os registros dos funcionários com idade entre 18 e 40 anos usando o operador
BETWEEN:
Além destes operadores temos o operador LIKE.
O operador LIKE é usado em uma cláusula WHERE para procurar um padrão especificado em uma coluna.
Existem dois curingas usados em conjunto com o operador LIKE:
% : O sinal de porcentagem representa zero, um ou vários caracteres;
_ : O sublinhado representa um único caractere;
Nota: No MS Access o curinga _ é substituido por ?.
.Sintaxe:
SELECT coluna1, coluna2, ...
FROM nome_tabela
[Link] 9/14
17/07/2023, 12:50 SQL - Consultas SQL Básicas no SQL Server
WHERE colunaN LIKE criterio;
Nota: Podemos ainda combinar este operador com os operadores AND e OR.
A seguir temos alguns exemplo mostrando diferentes operadores LIKE com curingas '%' e '_':
LIKE Descrição
WHERE Nome LIKE 'a%' Encontra qualquer valor que iniciam com "a"
WHERE Nome LIKE '%a' Encontra qualquer valor que termina com "a"
WHERE Nome LIKE '%an%' Encontra qualquer valor que tem "an" em qualquer posição
WHERE Nome LIKE '_r%' Encontra qualquer valor que tem "r" na segunda posição
Encontra valores que iniciam com "a" e possui no mínimo um tamanho
WHERE Nome LIKE 'a_%_%'
de 3 caracteres
WHERE Nome LIKE 'a%o' Encontra valores que iniciam com "a" e termina com "o"
Como exemplo temos uma consulta que encontra os registros de funcionários cujos nomes possuem 'ar' em qualquer
posição da coluna Nome:
8- A cláusula TOP
A cláusula TOP é usada com a cláusula SELECT para limitar o número de registros retornados por uma consulta SQL e
são usadas para otimizar a consulta.
SELECT TOP é usada para definir o número de registros a serem retornados
Sintaxe:
SELECT TOP numero|percentual coluna(s)
FROM nome_Tabela
WHERE condição;
Como exemplo temos a consulta que retorna apenas 2 registros de funcionários com idade maior que 25.
[Link] 10/14
17/07/2023, 12:50 SQL - Consultas SQL Básicas no SQL Server
A próxima consulta seleciona os primeiros 60% dos registros da tabela Funcionarios:
9- Usando as funções MIN() e MAX()
Podemos usar as funções MIN() e MAX() com a cláusula SELECT.
A função MIN() retorna o menor valor da coluna selecionada.
A função MAX() retorna o maior valor da coluna selecionada.
Sintaxe:
SELECT MIN(coluna) SELECT MAX(coluna)
FROM nome_tabela FROM nome_tabela
WHERE condição; WHERE condição;
Como exemplo vamos retornar a menor idade com o valor MenorIdade:
[Link] 11/14
17/07/2023, 12:50 SQL - Consultas SQL Básicas no SQL Server
Para retornar a maior idade basta usar a consulta: Select MAX(Idade) AS MaiorIdade from Funcionarios
10- Usando as funções COUNT(), AVG() e SUM()
As funções de agregação COUNT(), AVG() e SUM() processam um conjunto de valores em uma única coluna e retorna um
único valor como resultado.
A função COUNT() retorna o número de linhas que corresponde a um critério especificado.
A função AVG() retorna o valor médio de uma coluna numérica.
A função SUM() retorna a soma total de uma coluna numérica.
A função COUNT pode receber como parâmetro o nome da coluna ou um asterisco. Ao informar o nome de uma coluna,
valores do tipo null são ignorados, quando informado * , todas as linhas serão computadas.
Como exemplo temos uma consulta que retorna o total de funcionários com salário maior que R$ 2.000,00 :
No exemplo a seguir a consulta retorna a soma dos salários para os funcionários com idade superior a 30 anos:
[Link] 12/14
17/07/2023, 12:50 SQL - Consultas SQL Básicas no SQL Server
Na próxima consulta estamos retornando a média salarial dos funcionários:
Essas são as consultas SQL básicas mais utilizadas no dia a dia de um desenvolvedor.
"Disse-lhe Jesus: Eu sou o caminho, e a verdade e a vida; ninguém vem ao Pai, senão por mim."
João 14:6
Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Veja mais sistemas completos para a plataforma .NET no Super DVD .NET , confira...
Curso Básico VB .NET - Vídeo Aulas
Quer aprender C# ??
Chegou o Super DVD C# com exclusivo material de suporte e vídeo aulas com curso básico sobre C#.
Curso C# Basico - Video Aulas
Quer aprender os conceitos da Programação Orientada a objetos ?
Curso Fundamentos da Programação Orientada a Objetos com VB .NET
Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?
Curso - Gerando Relatórios com o ReportViewer no VS 2013 - Vídeo Aulas
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
[Link] 13/14
17/07/2023, 12:50 SQL - Consultas SQL Básicas no SQL Server
Seção VB .NET do Site [Link]
Super DVD .NET - A sua porta de entrada na plataforma .NET
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Seção C# do site [Link]
Super DVD C#
Super DVD Visual Basic
Curso Básico VB .NET - Vídeo Aulas
Curso C# Básico - Vídeo Aulas
Curso de SQL. - Macoratti
Usando SQL com ADO - Macoratti
SQL Server - T-SQL Para Iniciantes - Macoratti
SQl - Selecionando dados com SQL - Macoratti
SQL - Consultas T-SQL Básicas - Macoratti
SQL Server - Realizando Consultas SQL - Macoratti
José Carlos Macoratti
[Link] 14/14