O Manual de Programação, Design e Escrita para Iniciantes.

Banco de Dados e o temido SELECT – SQL para Iniciantes

 

 

banner-curso-de-modelagem-de-dados

Tópicos 

1. Filtrando colunas com SELECT
2.Como combinar mais de uma cláusula WHERE
3. Consultas com números
4. Selecionando um dado NULO
5. SELECT com LIKE
6. IN e NOT IN

Antes de mais nada, no post anterior, vimos que a cláusula WHERE apareceu em uma consulta com o SELECT para acessarmos os dados de nossa tabela. Mas o que o WHERE faz?

O WHERE é uma cláusula que diz ao SQL o que ele deve procurar, no caso, a condição que você fornecer no código.

Desse modo, o resultado que será exibido será o teste da condição. Se for verdadeiro, aparece, caso contrário, não.

O Temido SELECT – SQL para Iniciantes

Vamos analisar o código:

SELECT * FROM nome_da_tabela
WHERE (condição)

Logo, essa sintaxe quer dizer: selecione todos os campos da tabela tal. Em resumo, o asterisco equivale a todos os campos da tabela.

Aqui vai uma dica rápida: se você for inserir uma condição que corresponda a um VARCHAR, CHAR, DATE, DATETIME, BLOB OU TIMESTAMP, sempre use aspas simples.

Já que o código dará erro caso você não coloque.

 

Leia também

HTML para iniciantes: desenvolva em poucos minutos

O que é algoritmo? Aprenda de uma vez por todas

SQL CRUD Comandos Básicos

Como criar tabelas: dados atômicos e chave primária

Você sabe qual é a diferença entre GIT e GITHUB?

Como surgiu o paradigma Orientado a objeto?

Quer aprender a programar? Confira aqui 25 cursos gratuitos e com certificado!

 

Filtrando colunas com SELECT

Dependendo da consulta, é necessário que façamos uma filtragem dos campos que vão aparecer na tela, certo?

Para isso, devemos informar ao SELECT quais campos queremos que apareça em nossa pesquisa:

SELECT nome, endereco 
FROM cliente;

Segundo essa consulta, apenas o nome e o endereço de clientes vão aparecer:

O Temido SELECT – SQL para Iniciantes

Como no meu banco de dados só tem a Joana de cliente até agora, só apareceu ela. Desse modo, com esse comando vão aparecer todos os clientes, mas somente os campos de nome e endereço.

SELECT nome, endereço 
FROM cliente

WHERE nome = 
'Joana das Flores';

Agora sim, ele restringe o resultado da consulta a apenas uma, pois inserimos uma cláusula e sob ela uma condição.

Assim, eu disse ao meu SELECT que me retornasse apenas o nome e o endereço de quem se chamava Joana das Flores.

O Temido SELECT – SQL para Iniciantes

Quando queremos filtrar os dados, utilizamos a cláusula WHERE.

Como combinar mais de uma cláusula WHERE?

Certamente, ao se fazer uma pesquisa, podemos precisar refinar a nossa consulta.

Às vezes, para ter acesso a uma informação é preciso combinar cláusulas.

Só para exemplificar, vamos voltar à situação anterior. Por algum motivo, precisamos buscar os clientes com o mesmo endereço e id_cliente entre 1 e 5. Como faríamos isso?

SELECT id_cliente, nome, 
endereço FROM cliente
WHERE endereço = 
‘Rua das Flores’
AND id_cliente 
BETWEEN 1 and 5;
O Temido SELECT – SQL para Iniciantes

Nesse caso o AND e o BETWEEN filtraram o meu resultado para os clientes que tivessem o id entre 1 e 5.

BETWEEN: entre

AND: e.

Consulta com números

Vamos supor que eu queira fazer uma pesquisa na tabela produtos que eu acabei de criar. Eu quero selecionar o nome de todas as flores que tenham em estoque 15 unidades. Desse modo, como o código ficaria?

SELECT nome_produto 
FROM produtos
WHERE tipo = ‘flor’
AND estoque = 15;
O Temido SELECT – SQL para Iniciantes

Agora, eu quero consultar as minhas flores que custam entre 4 e 7 reais.

SELECT nome_produto, 
preco FROM produtos
WHERE tipo_produto = 
‘flor’
AND preco 
BETWEEN 4 and 7;
O Temido SELECT – SQL para Iniciantes

Portanto, para realizar consultas com operadores, a sintaxe segue a mesma lógica:

SELECT nome_produto, 
preco FROM produtos
WHERE tipo_produto = 
‘flor’
AND preco > 4;
O Temido SELECT – SQL para Iniciantes

 Logo, os operadores são:

  • > – maior;
  • < – menor;
  • = – igual;
  • <> –  diferente;
  • <= – menor ou igual;
  • >= – maior ou igual.

Selecionando um dado NULO

Por conseguinte, uma hora ou outra teremos que buscar um dado nulo.  Como fazemos?

SELECT nome_produto 
FROM produtos
WHERE tipo_produto 
IS NULL;
O Temido SELECT – SQL para Iniciantes

Dessa forma, o código não vai funcionar se atribuirmos valor nulo. Somente na cláusula: IS NULL. Não há como comparar um objeto nulo, pois ele possui valor indefinido.

SELECT com LIKE

Tal qual no exemplo dos códigos acima, nós comparamos caracteres apenas com o sinal de igual. No entanto, existe uma palavra específica para consultas com CHAR ou VARCHAR: o LIKE.

Em resumo, o LIKE trabalha com dois caracteres especiais: o %(por cento) e o _(sublinhado). O % substitui o número de caracteres e o sublinhado substitui apenas um. Vamos entender melhor:

Desse modo, o LIKE ‘%a’ : significa que a pesquisa vai retornar as palavras com vários caracteres antes do ‘a’. E o LIKE ‘_a’: que a pesquisa vai retornar as palavras com apenas um caractere antes do ‘a’.

IN e NOT IN

A cláusula IN serve para avaliar se o valor de um conjunto existe. Se existir, é ele quem aparece na busca:

SELECT nome 
FROM cliente
WHERE endereço 
IN (‘Rua das Flores’);
O Temido SELECT – SQL para Iniciantes

Contudo, cláusula NOT IN vai retornar o que não está dentro deste conjunto:

SELECT nome 
FROM cliente
WHERE endereço 
NOT IN (‘Rua das Flores’);
O Temido SELECT – SQL para Iniciantes

banner-curso-de-modelagem-de-dados

NayaraBonim

Analista e criadora de conteúdo. Formada em Análise e Desenvolvimento de Sistemas. Pós-graduanda em Engenharia de Software.

O que você achou do post?