Voltar para a lista de artigos Artigos
10 minutos de leitura

As Consultas SQL mais importantes para iniciantes

Como você obtém dados de uma tabela? Como você cria ou apaga uma tabela? Como você exibe registros distintos? Como selecionar as linhas que armazenam um valor específico em uma coluna? Você pode fazer tudo isso facilmente, escrevendo consultas SQL básicas.

Este guia discute as 30 consultas SQL mais importantes para iniciantes. Vamos dar uma olhada.

1. Recuperação de dados de todas as colunas

Esta é uma consulta muito básica para exibir todos os dados de uma tabela. Note que esta consulta tem apenas um caractere após SELECT: "*" (isto denota todas as colunas). Portanto, você não precisa listar os nomes das colunas. É claro, lembre-se de escrever FROM e o nome da tabela da qual você deseja recuperar os dados. Neste exemplo, estamos recuperando os dados da tabela animal.

SELECT *
FROM animal;

2. Obtenção de dados de certas colunas

A consulta acima exibe todos os dados da tabela animal. Se você gostaria de recuperar dados apenas de certas colunas, liste-as após SELECT. Neste exemplo, estamos recuperando os dados das colunas id e name.

SELECT id, name
FROM animal;

3. Filtragem de dados usando a cláusula WHERE

Além de recuperar dados de certas colunas, você também pode filtrar dados listando as condições após WHERE. Neste exemplo, há uma condição: age>=2. Estamos procurando registros com um valor de 2 ou mais na coluna age.

SELECT id, name, age
FROM animal
WHERE age>=2;

4. Filtragem de dados usando condições unidas por AND Operator

Se você quiser filtrar dados usando mais de uma condição, você pode usar AND. Neste exemplo, estamos procurando registros com valor igual ou superior a 2 na coluna age e 'dog' na coluna name.

SELECT id, name, age 
FROM animal
WHERE age >= 2 AND name = 'dog';

5. Filtragem de dados usando condições unidas pelo operador OR

Se apenas uma das condições precisar ser atendida, você pode usar OR. Neste exemplo, estamos procurando registros com valor igual ou superior a 2 na coluna age ou 'dog' na coluna name.

SELECT id, name, age 
FROM animal
WHERE age >= 2 OR name = 'dog';

6. Utilização do DISTINCT para recuperar registros não repetidos

Você pode colocar DISTINCT após SELECT para recuperar apenas um de cada tipo de registro. Neste exemplo, queremos recuperar registros das colunas name e color. Se os valores dessas colunas forem os mesmos em mais de um registro (por exemplo, há mais de uma camiseta amarela na tabela), a consulta retorna apenas um desses registros.

SELECT DISTINCT name, color
FROM clothing;

7. Recuperação de dados sem NULL em uma determinada coluna

Se você quiser recuperar dados apenas de linhas sem NULL em uma determinada coluna, use IS NOT NULL. Neste exemplo, o valor na coluna color não pode ser NULL. Assim, somente os registros com um valor armazenado na coluna color serão devolvidos. Um operador semelhante ao IS NOT NULL é IS NULL, que verifica se um valor é igual a NULL.

SELECT name, color
FROM clothing
WHERE color IS NOT NULL;

8. Ordenação dos dados de acordo com uma coluna

Para ordenar os dados de acordo com uma coluna, coloque o nome da coluna após ORDER BY. O método padrão de ordenação é alfabético, mas você também pode exibir as linhas em ordem decrescente, adicionando DESC após o nome da coluna. Neste exemplo, queremos ordenar os dados nas colunas id e name de acordo com a coluna name.

SELECT id, name 
FROM animal
ORDER BY name;

9. Ordenação dos dados de acordo com a coluna More Than One

Você também pode classificar os dados de acordo com mais de uma coluna. Neste exemplo, os registros são primeiro ordenados de acordo com a coluna name em ordem decrescente e em seguida de acordo com a coluna id em ordem ascendente. Se a consulta encontrar registros com o mesmo nome (por exemplo, todos os registros com 'dog' na coluna nome), ordena estes registros em ordem ascendente de acordo com id.

SELECT id, name 
FROM animal
ORDER BY name DESC, id;

10. Busca de valores que correspondem a um determinado padrão

Você pode usar LIKE para recuperar dados que correspondam a um determinado padrão. Neste exemplo, queremos recuperar registros das colunas id e name que armazenam uma string contendo o caractere "e" na coluna name (por exemplo, registros com nomes como elefante,abelha, etc.)

SELECT id, name 
FROM animal
WHERE name LIKE '%e%';

11. Unindo valores de colunas de texto em uma corda

A função CONCAT junta-se a cordas. Neste exemplo, as cordas armazenadas nas colunas category e name são retornadas como uma única coluna de cordas com um espaço entre o valor na coluna category e o valor na coluna name.

SELECT CONCAT(category, ' ', name) 
FROM tab;

12. Utilização de operadores matemáticos

Você pode escrever consultas para calcular valores usando operadores matemáticos como "+," "-," "*," e "/". Neste exemplo, queremos calcular o preço com desconto subtraindo o valor da coluna discount do valor da coluna price.

SELECT price - discount
FROM product;

13. Adicionando dados de diferentes tabelas

Você pode juntar registros de diferentes tabelas usando o operador UNION ALL. Lembre-se de que os registros devem ser do mesmo tipo de dados. Neste exemplo, queremos recuperar todas as linhas com sobrenomes a partir da tabela customer e todas as filas com sobrenomes da tabela employee. Ele recuperará todos os sobrenomes, mesmo que eles sejam repetidos. Se quisermos selecionar todos os sobrenomes sem repetições, usaremos UNION ao invés de UNION ALL.

SELECT last_name FROM customer
UNION ALL
SELECT last_name FROM employee;

14. Como encontrar a interseção de conjuntos de dados

INTERSECT retorna a interseção de dois conjuntos de dados. Neste exemplo, queremos apenas recuperar os sobrenomes listados em ambas as tabelas. Para ver o que há de diferente entre os conjuntos, utilize os operadores MINUS ou EXCEPT.

Se você gostaria de saber mais sobre os operadores dos conjuntos e ver a explicação visual deste conceito, leia este artigo.

SELECT last_name FROM customer
INTERSECT
SELECT last_name FROM employee;

15. Juntando Dados de Diferentes Tabelas

Você pode participar de tabelas usando JOIN, incluindo INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, e CROSS JOIN (consulte os cursos listados no final deste artigo para maiores informações). Neste exemplo, queremos unir os dados das tabelas customer e city. INNER JOIN precisa vir depois de FROM e o nome da primeira tabela, customer. Depois de INNER JOIN, coloque o nome da segunda tabela, city. Os registros com os dados de ambas as tabelas são correspondidos por ON com a condição de adesão. Os registros na tabela city são correspondidos com os registros da tabela customer se tiverem o mesmo valor na coluna id da tabela customer e na coluna customer_id na tabela city.

SELECT customer.last_name, city.name 
FROM customer
INNER JOIN city 
  ON customer.id = city.customer_id;

16. Utilização de Aliases de Tabelas e Colunas

Se você juntar mesas, é uma boa idéia usar pseudônimos para nomes de mesas e colunas. Neste exemplo, queremos unir duas tabelas, customer e citye nomeá-los c e trespectivamente. Definimos estes novos nomes em FROM ou JOIN, utilizando AS. Da mesma forma, renomeamos as colunas last_name na tabela customer e name na tabela city como lname e city, respectivamente.

SELECT c.last_name AS lname, t.name AS city
FROM customer AS c
INNER JOIN city AS t
  ON c.id = t.customer_id;

17. Contagem do número de filas em uma tabela

COUNT conta o número de filas. Neste exemplo, ele retorna o número de valores da coluna id armazenados na tabela product (o número de todos os produtos).

SELECT COUNT(id)
FROM product;

18. Cálculo da Média dos Valores em uma Coluna

Você pode calcular a média dos valores em uma coluna usando AVG. Neste exemplo, a consulta retorna o preço médio de todos os produtos da tabela product.

SELECT AVG(price)
FROM product;

19. Cálculo da Soma dos Valores em uma Coluna

SUM calcula a soma dos valores em uma coluna. Neste exemplo, ele retorna o valor de todos os produtos.

SELECT SUM(price)
FROM product;

20. Encontrar o Valor Mínimo em uma Coluna

Você pode encontrar o valor mínimo armazenado em uma coluna usando MIN. Neste exemplo, a consulta retorna o preço mínimo entre os produtos.

SELECT MIN(price)
FROM product;

21. Encontrando o Valor Máximo em uma Coluna

Você pode encontrar o valor máximo armazenado em uma coluna usando MAX. Neste exemplo, a consulta retorna o preço máximo entre os produtos.

SELECT MAX(price)
FROM product;

22. Cálculo do Valor Agregado para Grupos de Registros

GROUP BY coloca filas em grupos para calcular um valor. Neste exemplo, usamos COUNT para calcular o número de linhas (o número de produtos) em cada grupo (category). As colunas em SELECT têm que colocar na cláusula GROUP BY. GROUP BY pode ser usado da mesma forma com outras funções agregadas como MAX, MIN, AVG, e SUM.

SELECT category, COUNT(id)
FROM product
GROUP BY category;

23. Linhas de filtragem usando funções agregadas

Você pode filtrar registros após calcular valores para cada grupo usando HAVING. Neste exemplo, queremos recuperar categorias com um preço médio de produtos inferior a 56,50.

SELECT category, AVG(price)
FROM product
GROUP BY category
HAVING AVG(price) < 56.50;

24. Remoção de dados de uma tabela

DELETE FROM remove todos os dados de uma tabela. Neste exemplo, queremos apagar todos os dados da tabela product.

DELETE FROM product;

25. Remoção de registros de uma determinada condição de uma tabela

Você pode remover registros que atendam a uma determinada condição usando WHERE. Neste exemplo, queremos remover os registros da tabela product com id igual a 5.

DELETE FROM product
WHERE id = 5;

26. Inserção de dados em uma tabela

Você pode adicionar um novo recorde a uma tabela usando INSERT INTO. Depois de INSERT INTO, coloque o nome da tabela e depois entre parênteses os nomes das colunas da tabela. Depois disso, coloque VALUES e depois entre parênteses os valores para as colunas. Neste exemplo, queremos inserir 25 em id, 'sofa' em name, e 'furniture' em category na tabela. product.

INSERT INTO product(id, name, category) 
VALUES(25, 'sofa', 'furniture');

27. Atualização de uma coluna em uma tabela

UPDATE permite modificar os dados nos registros. Depois de UPDATE, coloque o nome da tabela, depois SET, e depois o nome da coluna a ser modificada com "=" e um novo valor a ser inserido. Esta consulta modifica todos os valores da coluna. Neste exemplo, queremos modificar todos os valores da coluna company para 'ABC'.

UPDATE product SET company = 'ABC';

28. Atualização de uma coluna por meio da filtragem de registros

Entretanto, se você não quiser alterar todos os valores em uma coluna, você pode adicionar WHERE com uma condição. Na condição, você pode especificar quais registros devem ser modificados. Neste exemplo, queremos modificar os valores na coluna name para 'armchair' somente para registros com id=25.

UPDATE product
SET name = 'armchair'
WHERE id = 25;

29. Criando uma tabela

Você pode criar uma tabela usando CREATE TABLE. Após CREATE TABLE, coloque o nome da tabela e defina entre parênteses os nomes das colunas e seus tipos de dados. Neste exemplo, queremos criar a tabela tab com duas colunas: id com número inteiro como tipo de dados e name limitado a um máximo de 50 caracteres.

CREATE TABLE tab(id int, name varchar(50));

30. Eliminação de uma tabela

Você pode excluir uma tabela usando DROP TABLE. Basta colocar o nome da tabela que você deseja excluir depois de DROP TABLE. Neste exemplo, queremos excluir a tabela tab.

DROP TABLE tab;

Sumário

As consultas descritas acima são as mais comumente usadas tanto por iniciantes como por profissionais. Estas consultas são necessárias para criar ou soltar uma tabela, inserir dados em uma tabela, atualizar registros ou remover dados de uma tabela.

Você quer saber mais sobre como criar e excluir tabelas? Você gostaria de mergulhar na inserção, atualização e remoção de dados em SQL? Confira estes cursos úteis onde você pode ganhar experiência prática:"Criando tabelas em SQL" e "Como inserir, atualizar ou excluir dados em SQL". "

Se você quiser saber mais sobre verificação de dados em uma tabela, filtragem de dados, cálculo de valores agregados em colunas ou grupos e busca de valores que correspondam a um padrão, confira nosso "...SQL para Iniciantes"curso e seu conjunto de práticas.

Se você quiser aprender mais sobre como unir dados a partir de mais de duas tabelas, aperfeiçoe suas habilidades com "Cláusulas JOIN em SQL."