SQL: consultas com SELECT

Maria Gabriela Cuenca
Maria Gabriela Cuenca

Compartilhe

Imagem que mostra ombros e mão de um homem de terno e gravata, indicando na sua frente letras que formam a sigla SQL.

O banco de dados não é utilizado apenas para armazenar dados, em alguns momentos é necessário realizar consultas ou até comunicar com outras ferramentas e sistemas para fazer relatórios, mas como tudo isso é feito? Com a cláusula SELECT, a principal função do SELECT é consultar/buscar os dados de uma tabela em um banco de dados.

Vamos supor que precisamos desenvolver um relatório para algum cliente/sistema ou até mesmo consultar uma informação que mostra inconsistência no sistema, mas como fazemos isso? Usando o SELECT para buscar esses dados.

Imagem com fundo azul escuro, com um ícone do SQL e a palavra select destacada em branco.

SELECT SIMPLES

A sintaxe básica do comando é:

SELECT campos FROM nome_da_tabela

Bom, nós temos em nosso banco de dados a tabela de clientes:

idnometelefonegenerodata_cadastro
1Roberta de Jesus9999-9999F10-12-2019
2Denis Oliveira8888-8888M05-11-2019
3Valeria Custodio7777-7777F20-10-2019
4Isabel Borges5555-555F01-10-2019

Então, para consultar podemos fazer de duas formas:

  • Trazendo todos os campos:
SELECT * FROM clientes

Neste comando, todos clientes são retornados.

Ou

  • Trazendo alguns campos:
SELECT nome, telefone FROM clientes

Neste comando, nome e telefone de todos os clientes são retornados.

O asterisco representa todos os campos. É bem prático, mas não muito utilizado. Ao usar o asterisco para trazer todos os campos, ele obriga o servidor do banco de dados a procurar os campos antes de trazer os dados e assim, causando uma demora no retorno da consulta.

SELECT COM WHERE

O WHERE é utilizado no SQL para passar condições/regras de filtragem.

Vamos supor que queremos ver todos clientes do gênero feminino em nossa tabela, então, utilizamos o WHERE para realizar essa filtragem:

SELECT * FROM clientes WHERE genero = “F”

Neste comando, todos clientes do gênero feminino são retornados.

Também podemos usar operadores lógicos para usar mais de uma condição dentro do WHERE.

SELECT * FROM clientes WHERE genero = “F” AND nome LIKE “R%”

Neste comando, todos os clientes do gênero feminino com nomes que iniciam com R serão retornados.

Além do operador de igual (=) temos o IN e o BETWEEN.

  • IN

O IN é utilizado para fazer a filtragem a partir de uma lista de buscas.

SELECT * FROM clientes WHERE genero IN id (1, 2, 3)

Neste comando, todos os clientes com id 1, 2 e 3 serão retornados.

  • BETWEEN

O BETWEEN é utilizado para fazer buscas entre intervalos. É mais utilizado para filtrar intervalos de datas.

SELECT * FROM clientes WHERE data_cadastro BETWEEN ‘10-12-2019’ AND ‘20-10-2019’

Neste comando, todos os clientes que foram cadastrados entre essas datas serão retornados.

LIKE

O LIKE é utilizado para buscar strings(texto) dentro de uma coluna com valores textuais. Podemos buscar as linhas que o nome inicia com uma determinada palavra, como vimos acima ou contém um certo texto.

  • string: são retornadas todas as linhas que tem na coluna buscada exatamente a "string" informada no filtro. É a mesma coisa de usar o operador de igual.

  • %string%: são retornadas as linhas que tem na coluna buscada a "string" informada. Podemos buscar os nomes que tem "Jesus", ou que tem alguma sílaba ou letra específica. A linha com o nome "Roberta de Jesus", contém o termo "da", então atenderia ao filtro '%de%'.

  • %string: são retornadas as linhas que a coluna filtrada termina com a "string" informada. O % indica que pode ter qualquer valor no começo do campo, desde que ele termine com a “string". A linha com nome "Roberta de Jesus" atenderia ao filtro '%Jesus'.

  • string%: são retornadas as linhas que o coluna filtrada começa com a “string" informada. O % indica que depois da “string” pode ter qualquer valor. A linha com nome "Roberta de Jesus", atenderia ao filtro 'Roberta%'.

ORDER BY

O ORDER BY é utilizado para ordenação. Podemos ordenar em ordem crescente (ASC) ou em ordem decrescente (DESC).

SELECT * FROM clientes ORDER BY nome ASC

Neste comando, serão retornados todos os clientes ordenados pelo nome em ordem crescente.

Então pessoal, vimos neste artigo como fazer consultas simples apenas com o SELECT, como incrementar essas consultas criando filtros com WHERE e ordenar os dados com o ORDER BY.

Gostou deste artigo e quer conhecer ainda mais sobre banco de dados e SQL?

A Formação Modelagem de Dados foi feita para você! Acesse a formação e descubra o que mais você pode fazer com banco de dados e SQL.

Maria Gabriela Cuenca
Maria Gabriela Cuenca

Maria é graduanda de Sistemas para Internet, desenvolvedora e especialista em SQL. Trabalhou um bom tempo com o PostgreSQL, mas tem conhecimento nos demais bancos de dados mais utilizados no mercado. Atualmente está mais dedicada ao Business Intelligence.

Veja outros artigos sobre Data Science