Neste artigo, você aprenderá os fundamentos das consultas SQL básicas, aprimorando suas habilidades de banco de dados. Com as consultas SQL, você poderá acessar e manipular os dados de seus bancos de dados relacionais de forma eficiente e organizada. Se você está começando sua jornada em SQL no Brasil, este é o lugar certo para começar!
O que são Consultas SQL?
As consultas SQL são instruções utilizadas para consultar, ou seja, buscar e selecionar dados em bancos de dados relacionais. São fundamentais para qualquer desenvolvedor ou analista de banco de dados, pois permitem o acesso e manipulação eficiente dos dados.
Para executar uma consulta SQL, você precisa usar uma linguagem específica para interagir com o banco de dados. Essa linguagem é chamada de Structured Query Language, ou SQL, e é a linguagem padrão para realizar consultas em bancos de dados relacionais.
A linguagem SQL
Consultas SQL básicas
SQL, ou Structured Query Language, é a linguagem padrão para realizar consultas em bancos de dados relacionais. Ela permite que você especifique o que deseja buscar, filtrar e ordenar, entre outras operações.
Com a linguagem SQL, é possível criar consultas complexas que envolvem várias tabelas e condicionais. A linguagem possui várias cláusulas que permitem realizar diferentes tipos de operações, como SELECT, INSERT, UPDATE e DELETE. Além disso, a sintaxe do SQL é relativamente fácil de aprender e pode ser usada em vários tipos de bancos de dados relacionais, como MySQL, Oracle e SQL Server.
O uso de SQL é fundamental para qualquer desenvolvedor ou analista de banco de dados. Com habilidades em SQL, você será capaz de acessar e manipular dados de maneira mais eficiente, gerando relatórios, estatísticas e insights mais precisos e úteis.
Comandos Básicos do SQL
Os comandos básicos do SQL são essenciais para recuperar, inserir, atualizar e excluir dados em um banco de dados. O comando SELECT é um dos principais comandos do SQL e é usado para buscar informações de uma tabela específica. Ele permite que você selecione uma ou mais colunas de uma tabela e retorne os valores correspondentes. A sintaxe básica do comando SELECT é a seguinte:
SELECT coluna1, coluna2, …
FROM tabela
O comando INSERT é usado para inserir novos registros em uma tabela. A sintaxe básica do comando INSERT é a seguinte:
INSERT INTO tabela (coluna1, coluna2, …)
VALUES (valor1, valor2, …)
O comando UPDATE é usado para modificar os registros existentes em uma tabela. A sintaxe básica do comando UPDATE é a seguinte:
UPDATE tabela
SET coluna1 = valor1, coluna2 = valor2, …
WHERE condição
O comando DELETE é usado para excluir registros de uma tabela. A sintaxe básica do comando DELETE é a seguinte:
DELETE FROM tabela
WHERE condição
Com esses comandos básicos, você será capaz de buscar, inserir, atualizar e excluir dados em um banco de dados usando o SQL. O comando SELECT, em particular, é fundamental para recuperar informações de uma tabela específica, e será abordado com mais detalhes no próximo tópico.
Filtrando dados com a cláusula WHERE
A cláusula WHERE é usada para filtrar os resultados de uma consulta com base em determinados critérios. Por exemplo, se você quisesse obter apenas os registros de uma tabela em que o valor da coluna “idade” fosse superior a 18, você usaria a cláusula WHERE para especificar essa condição.
Para usar a cláusula WHERE em uma consulta SQL, você deve inseri-la logo após a cláusula FROM. A sintaxe básica da cláusula WHERE é:
SELECT coluna_a, coluna_b, … FROM nome_da_tabela WHERE condição;
Na cláusula WHERE, você pode usar uma grande variedade de operadores e expressões para criar condições de filtro, como maior que (>), menor que (<), igual a (=), diferentes de (<>), entre outros. Além disso, você pode combinar várias condições usando operadores lógicos como AND e OR.
Por exemplo, se você quisesse obter apenas os registros de uma tabela em que o valor da coluna “idade” fosse superior a 18 e o valor da coluna “cidade” fosse igual a “São Paulo”, você usaria a cláusula WHERE com dois operadores lógicos:
SELECT nome, idade, cidade FROM clientes WHERE idade > 18 AND cidade = ‘São Paulo’;
Com a cláusula WHERE, você pode criar consultas SQL mais específicas e reduzir a quantidade de resultados desnecessários, economizando tempo e recursos.
Ordenando resultados com a cláusula ORDER BY
A cláusula ORDER BY é usada para ordenar os resultados de uma consulta SQL de acordo com os valores de uma ou mais colunas. Ela é muito útil quando você precisa apresentar os resultados da consulta em uma ordem específica.
Por padrão, a cláusula ORDER BY classifica as informações em ordem crescente (do menor para o maior), mas você também pode ordenar as informações em ordem decrescente (do maior para o menor) usando a palavra-chave DESC depois do nome da coluna. Veja abaixo um exemplo de como ordenar uma lista de funcionários pelo salário em ordem decrescente:
SELECT nome, salario FROM funcionarios ORDER BY salario DESC;
Observe que a cláusula ORDER BY é adicionada ao final da consulta SQL, após a cláusula WHERE, caso ela exista.
Também é possível ordenar os resultados usando várias colunas. Basta separar o nome das colunas por vírgula na cláusula ORDER BY. O resultado será ordenado primeiro pela primeira coluna listada, em seguida pela segunda e assim por diante. Veja um exemplo:
SELECT nome, data_nascimento, salario FROM funcionarios ORDER BY salario DESC, data_nascimento ASC;
Neste exemplo, os resultados são ordenados em ordem decrescente pelo salário e em ordem crescente pela data de nascimento. Isso significa que os funcionários com salários mais altos serão listados primeiro, e em caso de empate no salário, os funcionários mais velhos serão listados primeiro.
Agrupando dados com a cláusula GROUP BY
A cláusula GROUP BY é uma das ferramentas mais úteis em consultas SQL básicas. Ela é usada para agrupar registros com base em uma ou mais colunas. Isso permite que você faça cálculos e obtenha informações resumidas sobre os dados, como médias, somas e contagens.
Por exemplo, se você tiver uma tabela com dados de vendas de produtos por região e quiser obter a soma total de vendas por região, pode usar a cláusula GROUP BY da seguinte forma:
Região | Total de Vendas |
---|---|
Sul | 25000 |
Sudeste | 45000 |
Norte | 10000 |
Nordeste | 15000 |
A consulta SQL correspondente seria:
SELECT Região, SUM(Vendas) AS 'Total de Vendas' FROM Tabela_de_Vendas GROUP BY Região;
Observe que a cláusula GROUP BY vem antes da cláusula SUM. Isso é importante para garantir que os dados sejam agrupados corretamente antes de serem calculados. Você também pode agrupar por várias colunas, separando-as por vírgulas na cláusula GROUP BY.
Vale lembrar que a cláusula GROUP BY não é a mesma coisa que a cláusula ORDER BY. A cláusula ORDER BY é usada para ordenar os resultados de uma consulta, enquanto a cláusula GROUP BY é usada para agrupar registros.
Use a cláusula GROUP BY em suas consultas SQL básicas para obter informações resumidas e úteis sobre seus dados. Combinada com outras cláusulas, como WHERE e HAVING, ela pode se tornar uma poderosa ferramenta de análise de dados.
Junções de tabelas
Ao trabalhar com bancos de dados, muitas vezes você precisará combinar informações de várias tabelas em uma única consulta. Isso é o que chamamos de junção de tabelas. A seguir, veremos os principais tipos de junções que você pode usar em suas consultas SQL básicas.
INNER JOIN
O INNER JOIN é o tipo mais comum de junção de tabelas. Ele retorna apenas as linhas das tabelas que têm correspondências nas duas tabelas envolvidas na junção. A sintaxe básica é a seguinte:
SELECT colunas FROM tabela1 INNER JOIN tabela2 ON tabela1.coluna = tabela2.coluna
Você deve substituir “colunas” pelos nomes das colunas que deseja selecionar e “tabela1” e “tabela2” pelos nomes das tabelas que deseja unir na consulta. A cláusula “ON” especifica as colunas que serão usadas para combinar as tabelas.
LEFT JOIN
O LEFT JOIN retorna todas as linhas da tabela da esquerda (tabela1) e as linhas da tabela da direita (tabela2) que têm correspondência. Se não houver correspondência na tabela da direita, a consulta retornará valores nulos para as colunas correspondentes. A sintaxe é semelhante à do INNER JOIN:
SELECT colunas FROM tabela1 LEFT JOIN tabela2 ON tabela1.coluna = tabela2.coluna
RIGHT JOIN
O RIGHT JOIN é o oposto do LEFT JOIN. Ele retorna todas as linhas da tabela da direita e as linhas da tabela da esquerda que têm correspondência. Se não houver correspondência na tabela da esquerda, a consulta retornará valores nulos para as colunas correspondentes. A sintaxe é semelhante à do INNER JOIN:
SELECT colunas FROM tabela1 RIGHT JOIN tabela2 ON tabela1.coluna = tabela2.coluna
FULL OUTER JOIN
O FULL OUTER JOIN é o tipo mais geral de junção de tabelas. Ele retorna todas as linhas das duas tabelas envolvidas na junção, mesmo que não haja correspondência. Se não houver correspondência para uma linha específica em uma das tabelas, a consulta retornará valores nulos para as colunas correspondentes. A sintaxe é a seguinte:
SELECT colunas FROM tabela1 FULL OUTER JOIN tabela2 ON tabela1.coluna = tabela2.coluna
Agora que você conhece os diferentes tipos de junções de tabelas, pode usá-las em suas consultas SQL básicas para combinar informações de várias tabelas e obter os resultados desejados.
Subconsultas
Uma subconsulta é uma consulta aninhada dentro de uma consulta principal. Ela é usada para obter dados relacionados a uma ou mais tabelas que não podem ser obtidos com uma única consulta.
As subconsultas podem ser usadas em várias cláusulas, como WHERE, HAVING, SELECT e FROM. Elas podem ser usadas para filtrar resultados com base em critérios específicos, como uma lista de IDs ou valores máximos ou mínimos, e para obter dados de outras tabelas relacionadas.
Por exemplo, se quisermos obter os nomes dos funcionários que trabalham em departamentos com um orçamento acima de R$ 100.000, podemos usar uma subconsulta com a cláusula WHERE:
SELECT nome FROM funcionarios WHERE departamento_id IN (SELECT id FROM departamentos WHERE orcamento > 100000);
Neste exemplo, a subconsulta é usada para obter os IDs dos departamentos com um orçamento superior a R$ 100.000. Em seguida, a consulta principal usa esses IDs para selecionar os nomes dos funcionários que trabalham nesses departamentos.
As subconsultas podem fornecer resultados altamente específicos e precisos, permitindo que você manipule dados de maneiras mais complexas e sofisticadas.
Funções Agregadas
As funções agregadas são uma parte importante das consultas SQL básicas. Elas são usadas para realizar cálculos em conjuntos de dados e obter valores agregados de uma coluna específica.
Existem várias funções agregadas que podem ser usadas em consultas SQL, incluindo:
- SUM: usada para somar valores em uma coluna;
- AVG: usada para calcular a média de valores em uma coluna;
- COUNT: usada para contar o número de registros em uma coluna;
- MAX: usada para encontrar o valor mais alto em uma coluna;
- MIN: usada para encontrar o valor mais baixo em uma coluna.
Essas funções podem ser usadas em conjunto com a cláusula GROUP BY para obter informações resumidas sobre os dados em uma tabela. Por exemplo, você pode usar a função SUM para somar os valores em uma coluna e agrupar os resultados por uma outra coluna, como a data ou o nome do cliente.
Veja um exemplo de consulta SQL que usa a função SUM para somar os valores de uma coluna:
SELECT SUM(preco) FROM pedidos;
Esta consulta retornará a soma de todos os valores da coluna preco na tabela pedidos.
Com as funções agregadas, você tem mais flexibilidade e poder para trabalhar com os dados em suas consultas SQL, tornando-as ainda mais úteis e eficientes.
Consultas SQL avançadas
Agora que você já conhece os fundamentos das consultas SQL básicas, é hora de explorar algumas técnicas mais avançadas.
Consultas com múltiplas cláusulas JOIN
As consultas com múltiplas cláusulas JOIN são usadas para combinar três ou mais tabelas em uma única consulta. Essas consultas podem ser complexas, mas permitem obter informações mais detalhadas e completas sobre os dados de diferentes tabelas.
Consultas com subconsultas correlacionadas
As subconsultas correlacionadas são consultas aninhadas que usam dados de uma tabela externa na consulta interna. Elas permitem que você realize consultas mais avançadas e obtenha dados de diferentes tabelas em uma única operação.
Consultas com a cláusula HAVING
A cláusula HAVING é usada para filtrar os resultados de uma consulta que usa uma cláusula GROUP BY. Ela permite que você especifique condições de filtro para os resultados agregados, como médias, somas e contagens.
Com essas técnicas avançadas, você pode criar consultas SQL mais poderosas e obter insights mais profundos sobre seus dados. Lembre-se de praticar sempre e experimentar diferentes combinações de comandos e cláusulas para alcançar seus objetivos.
Conclusão
Aprendendo os fundamentos das consultas SQL básicas, você se torna capaz de aprimorar suas habilidades de banco de dados e trabalhar de forma mais eficiente como desenvolvedor ou analista de dados. Os comandos básicos do SQL, como SELECT, INSERT, UPDATE e DELETE, são essenciais para acessar e manipular dados em bancos de dados relacionais.
A cláusula WHERE permite filtrar dados com base em condições específicas, enquanto a cláusula ORDER BY permite ordenar resultados por uma coluna específica. A cláusula GROUP BY permite agrupar registros com base em uma ou mais colunas e usar funções agregadas para calcular valores.
As junções de tabelas permitem combinar dados de diferentes tabelas em uma única consulta, enquanto as subconsultas permitem realizar consultas mais complexas e obter informações de diferentes tabelas em uma única operação.
Finalmente, exploramos as consultas SQL avançadas, incluindo consultas com múltiplas cláusulas JOIN, subconsultas correlacionadas e a cláusula HAVING. Com esse conhecimento, você pode criar consultas SQL mais complexas e trabalhar com dados de forma ainda mais eficiente.
Agora que você tem uma boa compreensão dos fundamentos das consultas SQL básicas, está pronto para aplicar essas habilidades em seus projetos de banco de dados e continuar evoluindo como desenvolvedor ou analista de dados.