Glossário de comandos SQL - uma visão geral dos 25 comandos SQL mais populares
Aprenda o básico sobre os 25 comandos SQL mais populares e
como usá-los..
O que é SQL?
O SQL, também conhecido como Structured Query Language
(Linguagem de Consulta Estruturada), é uma ferramenta poderosa
para pesquisar grandes quantidades de dados em bancos de dados e
retornar informações específicas para análise. Aprender SQL é
fundamental para qualquer pessoa que queira entrar no mundo dos
dados, seja para funções de analista de negócios, analista de dados,
cientista de dados ou engenheiro de dados.
Neste tutorial, você aprenderá sobre 25 dos comandos SQL mais
comuns que serão suficientes para a maioria das tarefas relacionadas
ao banco de dados.
Comandos SQL com exemplos
Exemplo de tabela
Ao longo deste tutorial, usaremos as tabelas films e soundtracks.
filmes
d
movie dire ge idio
receita at
_name tor nre ma
a
Vingad J. 2
ores: Wh 14000 0 Aç Ingl
Era de edo 00000 1 ão ês
Ultron n 5
Jean
- 2
Dr Fra
Pier 17400 0
Amelie am ncê
re 0000 0
a s
Jeu 2
net
trilhas sonoras
trilha sonora compositor data
Inception: Música do Hans
2010
filme Zimmer
O Fabuloso Destino Yann
2001
de Amelie Poulain Tiersen
1. SELECT
A instrução SELECT é usada para especificar quais colunas de uma
tabela de banco de dados devem ser incluídas no resultado.
Este exemplo seleciona apenas as colunas movie_name e director;
outras colunas não são retornadas.
SELECT movie_name, director
FROM films;
POWERED BY
Para selecionar todas as colunas de uma tabela, você pode
executar SELECT * (pronuncia-se "star"). Este exemplo seleciona todas
as colunas da tabela films tabela.
SELECT *
FROM films;
POWERED BY
2. LIMIT
Limitar o número de linhas retornadas de uma tabela é um truque útil
para acelerar o tempo de consulta. Para limitar o número de linhas,
você pode usar o comando LIMIT. Este exemplo seleciona todas as
colunas da tabela films e, em seguida, limita os resultados às dez
primeiras linhas.
SELECT *
FROM films
LIMIT 10;
POWERED BY
3. AS
Para renomear uma coluna ou uma tabela ao retornar os resultados,
você pode usar o comando AS para definir um alias para suas saídas.
Este exemplo seleciona a coluna movie_name e dá a ela o
alias movie_title.
SELECT movie_name AS movie_title
FROM films;
POWERED BY
4. SELECT DISTINCT
Os conjuntos de dados geralmente contêm linhas ou valores
duplicados em uma coluna. A combinação
de SELECT com DISTINCT elimina as duplicatas. Este exemplo retorna os
valores exclusivos da coluna director.
SELECT DISTINCT director
FROM films;
POWERED BY
5. COUNT
COUNT()retorna o número de linhas na tabela ou no grupo. Este
exemplo retorna o número de linhas na tabela films e, em seguida,
renomeia o resultado como number_of_films.
SELECT COUNT(*) AS number_of_films
FROM films;
POWERED BY
Comece a aprender SQL de graça
Data Manipulation in SQL
BeginnerSkill Level
4h
250.8K learners
Master the complex SQL queries necessary to answer a wide variety of data science
questions and prepare robust data sets for analysis in PostgreSQL.
See Details
See More
6. MIN
MIN()retorna o valor mínimo em uma coluna numérica. Para colunas
de texto, MIN() retorna o primeiro valor em ordem alfabética. Esse
exemplo retorna o filme com o menor valor de receita.
SELECT MIN(revenue) AS minimum_revenue,
FROM films;
POWERED BY
7. MAX
MAX() retorna o valor máximo em uma coluna numérica. Para colunas
de texto, MAX() retorna o último valor em ordem alfabética. Esse
exemplo retorna o filme com o valor máximo de receita.
SELECT MAX(revenue) AS maximum_revenue,
FROM films;
POWERED BY
8. SUM
SUM() retorna o total de valores numéricos. Este exemplo retorna a
receita total de todos os filmes listados na tabela films.
SELECT SUM(revenue) AS total_revenue
FROM films;
POWERED BY
9. AVERAGE
AVERAGE calcula a média aritmética de uma coluna. Este exemplo
retorna a receita média de todos os filmes listados na tabela films.
SELECT AVERAGE(revenue) AS average_earned
FROM films;
POWERED BY
10. WHERE
A cláusula WHERE filtra as linhas que correspondem a uma
determinada condição. Por exemplo, abaixo, estamos filtrando filmes
que ganharam mais de 500 milhões de dólares
SELECT revenue
FROM films
WHERE revenue > 500000000;
POWERED BY
Outros operadores condicionais podem ser usados,
como <, >, =>, <=, == (equals), != (not equals) para filtragem.
11. HAVING
A cláusula HAVING é semelhante à cláusula WHERE, mas só pode
ser usada com funções de agregação, enquanto a WHERE não pode.
Por exemplo, na consulta abaixo, estamos escolhendo todos os
gêneros de filmes que tenham pelo menos 50 filmes em sua categoria:
SELECT movie_name, director, date, COUNT(genre)
FROM films
GROUP BY genre
HAVING COUNT(genre) >= 50;
POWERED BY
Aqui está outro exemplo que agrupa filmes por classificação etária e
escolhe apenas as classificações com receita média de mais de 100
milhões:
SELECT movie_name, director, date, revenue
FROM films
GROUP BY age_rating
HAVING AVERAGE(genre) >= 100;
POWERED BY
12. AND
AND é usado ao filtrar linhas que correspondem a mais de uma
condição. No exemplo abaixo, filtraremos os filmes ingleses que
arrecadaram mais de 500 milhões de dólares.
SELECT *
FROM films
WHERE revenue > 500000000 AND
language == "English";
POWERED BY
13. OR
OR é outro operador condicional que permite que você faça um
subconjunto de linhas se qualquer uma das condições separadas
por OR for verdadeira. Esse exemplo retorna filmes ingleses que
ganharam menos de 100 milhões de dólares ou filmes franceses que
ganharam mais de 500 milhões de dólares.
SELECT *
FROM films
WHERE (revenue < 100000000 AND language == "English") OR
(revenue > 500000000 AND language == “French”);
POWERED BY
14. BETWEEN
BETWEEN permite que você faça um subconjunto de linhas dentro de
um determinado intervalo, o que torna as cláusulas WHERE mais
simples e fáceis de ler. No exemplo acima, escolhemos todos os
filmes lançados entre 2020 e 2022.
SELECT *
FROM films
WHERE date BETWEEN 2020 AND 2022;
POWERED BY
15. IN
O operador IN é uma abreviação para vários comandos OR. Esse
exemplo retorna todos os filmes que foram lançados em um desses
anos: 1998, 1966, 2001 e 2012.
SELECT movie_name, date, revenue
FROM films
WHERE date IN (1998, 1966, 2001, 2012);
POWERED BY
16. LIKE
O operador LIKE permite que você pesquise padrões em uma coluna
de texto usando sequências especiais chamadas curingas. Os
curingas permitem que você encontre cadeias de texto que se
encaixem em um padrão específico. Por exemplo, se você usar o
curinga “A% W%” na coluna do diretor, encontrará todos os diretores
com o primeiro nome começando com A e o sobrenome começando
com W.
SELECT *
FROM films
WHERE director LIKE "A% W%";
POWERED BY
17. GROUP BY
GROUP BY permite que você agrupe linhas com base nos valores da
coluna. GROUP BY é normalmente usado com funções de agregação
como COUNT, MIN, MAX, AVERAGE, entre outras. No exemplo abaixo,
encontramos a receita média de cada gênero de filme.
SELECT AVERAGE(revenue), movie_name, director, date
FROM films
GROUP BY genre;
POWERED BY
Poderíamos ter usado MIN, MAX, ou COUNT(revenue) para encontrar os
filmes com menor ganho, maior ganho ou o número de filmes em cada
gênero. Observe que a instrução GROUP BY praticamente não afeta a
consulta se não for usada com uma função agregada.
18. ORDER BY
ORDER BY permite que você ordene as linhas com base em um valor de
coluna. Você pode ordenar por ordem crescente (padrão) ou
decrescente, adicionando ASC ou DESC. Este exemplo ordena a receita
por ordem crescente.
SELECT *
FROM films
ORDER BY revenue ASC;
POWERED BY
19. UPDATE
UPDATE é usado para alterar os valores de células individuais em uma
tabela existente. Ele é usado com a palavra-chave SET. Este exemplo
atualiza o diretor “J. Whedon”, para “Joss Whedon”.
UPDATE films
SET director = "Joss Whedon"
WHERE director = "J. Whedon"
POWERED BY
A cláusula WHERE é fundamental quando você escreve
declarações UPDATE. Sem ela, a consulta acima teria feito todos os
filmes dirigidos por Joss Whedon.
20. ALTER TABLE
Você pode usar a instrução ALTER TABLE para modificar as propriedades
da tabela e de suas colunas (não os valores reais das células). Por
exemplo, alterar os nomes das colunas, adicionar novas colunas,
eliminá-las ou alterar seu tipo de dados. Os exemplos abaixo mostram
como você pode eliminar a coluna date e adicionar a coluna age_rating.
ALTER TABLE films
DROP COLUMN date;
POWERED BY
ALTER TABLE films
ADD COLUMN age_rating;
POWERED BY
21. CREATE TABLE
CREATE TABLE cria uma nova tabela em um banco de dados. Abaixo,
estamos criando uma tabela "libraries" com quatro colunas: uma
coluna inteira chamadaid, uma coluna de caracteres chamada name,
uma coluna de caracteres chamada version e uma coluna inteira
chamada num_downloads.
CREATE TABLE libraries (
lib_id int,
name varchar(100),
version varchar(100),
num_downloads int
POWERED BY
22. INSERT INTO
INSERT INTO pode ser usada para adicionar novas linhas a uma tabela.
Neste exemplo, adicionamos o filme “Doctor Strange” à
tabela films tabela.
INSERT INTO films (movie_name, director, revenue, date, genre, language)
VALUES ("Doctor Strange 2", “Sam Raimi”, 409000000, 2022, “Action”, “English”)
POWERED BY
23. INNER JOIN
O comando INNER JOIN seleciona as linhas que têm valores
correspondentes em ambas as tabelas. Por exemplo, na consulta
abaixo, somos as tabelas de filmes e trilhas sonoras em uma coluna
comum date que retorna filmes e trilhas sonoras que foram lançados
nos mesmos anos.
SELECT *
FROM films
INNER JOIN soundtracks
ON [Link] = [Link]
LIMIT 10;
POWERED BY
24. LEFT JOIN
Um LEFT JOIN mantém todos os registros originais na tabela da
esquerda e retorna valores ausentes para todas as colunas da tabela
da direita em que o campo de união não encontrou uma
correspondência.
SELECT *
FROM films
LEFT JOIN soundtracks
ON [Link] = [Link]
LIMIT 10;
POWERED BY
25. RIGHT JOIN
Um RIGHT JOIN mantém todos os registros originais na tabela correta e
retorna valores ausentes para todas as colunas da tabela esquerda
em que o campo de união não encontrou uma correspondência.
SELECT *
FROM films
LEFT JOIN soundtracks
ON [Link] = [Link]