Saia do zero em SQL em menos de 15 minutos! Aprenda os comandos básicos para conseguir fazer suas primeiras consultas e relacionar tabelas!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Na aula de hoje, quero te mostrar os comandos básicos em SQL para que você possa começar a fazer suas consultas e até mesmo criar relacionamentos entre tabelas. Tudo isso de forma rápida, permitindo que você saia do zero em SQL.
Ao longo dessa aula, utilizaremos o MySQL, que é um Sistema de Gerenciamento de Banco de Dados (SGBD), e veremos os comandos SELECT, ORDER BY, WHERE, COUNT, SUM, GROUP BY e JOIN.
São comandos básicos, porém muito importantes, pois com eles você será capaz de criar suas consultas e relacionar tabelas. Então, vem comigo e saia do zero em SQL hoje mesmo!
O SQL é uma linguagem de programação usada para manipular dados em bancos de dados.
Bancos de dados, por sua vez, são conjuntos de tabelas que armazenam informações relacionadas a uma área específica de negócios. Empresas geralmente utilizam tabelas para gerenciar dados como clientes, estoques de produtos, vendas, entre outros.
A vantagem do uso do SQL reside na capacidade de armazenar grandes quantidades de informações de forma robusta e segura.
Criado nos anos 70, o SQL permanece como a linguagem mais amplamente utilizada para interação com bancos de dados. A expectativa é que essa tendência continue nos próximos anos.
Diversos programas estão disponíveis para realizar o gerenciamento de bancos de dados por meio do SQL, como o SQL Server, MySQL, PostgreSQL, Oracle, Access, SQLite, entre outros.
Como mencionado, ao longo dessa aula, estarei utilizando o MySQL, mas os conceitos aprendidos aqui poderão ser aplicados no programa que você estiver utilizando.
O MySQL e outros bancos de dados geralmente apresentam uma estrutura bastante semelhante. À esquerda da interface, encontramos informações sobre os bancos de dados e as tabelas contidas neles.
No centro, temos a área onde podemos escrever nossos códigos em SQL.
Na parte inferior da tela, é possível visualizar os resultados das consultas às tabelas do banco de dados.
Para iniciar nossas consultas, o primeiro passo deve ser criar uma janela de código. Basta clicar no ícone abaixo de File com o símbolo de mais (+), e o MySQL abrirá automaticamente uma janela de código para você.
Mantenha o botão Ctrl pressionado e utilize o scroll do mouse para aumentar ou diminuir o tamanho da janela de código.
A próxima etapa é escolher o banco de dados com o qual vamos trabalhar. No caso, optaremos pelo banco de dados chamado world, que é um banco de dados pré-instalado no MySQL.
Esse banco de dados contém informações sobre cidades, população de países e outros dados relevantes.
Para utilizá-lo, basta clicar com o botão direito do mouse sobre ele e selecionar a opção Set as Default Schema.
O banco de dados world possui três tabelas, com informações sobre cidades, países e idiomas associados a cada um deles.
Vamos selecionar todas as informações da tabela city; para isso, utilizamos o comando SELECT.
SELECT * FROM city;
Como resultado dessa consulta, teremos a tabela abaixo, com todas as colunas e os dados presentes na tabela, como ID, nome da cidade, código do país, distrito e população.
É possível selecionar apenas colunas específicas das tabelas também. Basta substituir o asterisco do comando pelo nome das colunas desejadas.
SELECT name, population FROM city;
Com isso, selecionamos apenas essas duas colunas. Isso é muito útil quando você não precisa considerar todas as colunas para a sua análise.
Além de selecionarmos as colunas que desejamos visualizar, podemos ordenar os resultados exibidos pelas consultas utilizando o comando ORDER BY.
SELECT * FROM city
ORDER BY population;
Observe que, com isso, nossa consulta retornou a tabela de cidades ordenadas da menor população para a maior.
Caso você queira ordenar em ordem decrescente, basta adicionar a palavra-chave DESC após population.
SELECT * FROM city
ORDER BY population DESC;
Vimos como selecionar apenas algumas colunas da tabela, o que pode ser útil para muitas análises. No entanto, além disso, é possível filtrar as informações contidas na tabela através do comando WHERE.
Com ele, podemos definir uma condição e só serão exibidas as informações que corresponderem a ela.
Por exemplo, podemos filtrar apenas as cidades correspondentes ao Brasil (BRA).
SELECT * FROM city
WHERE countrycode = 'BRA';
Com isso, estamos selecionando todos os dados da tabela city em que a coluna countrycode seja correspondente ao código do Brasil.
Essa consulta poderia ainda ser combinada com o ORDER BY para, além de filtrar, ordenar as cidades pela população, como vimos anteriormente.
O SQL também possui uma função muito útil para contar a quantidade de registros dentro de uma tabela. Isso pode ser usado, por exemplo, para calcular a quantidade de cidades registradas na tabela city.
Para fazer essa contagem, precisamos selecionar a contagem da coluna name da tabela. A sintaxe para isso é a seguinte:
SELECT COUNT(name) from city;
Ou seja, dentro dessa tabela, temos 4079 cidades registradas.
A função COUNT é útil para contar as informações dentro da tabela. Agora, se você precisar somar valores específicos dentro de uma tabela, será necessário utilizar a função SUM.
Essa função permite somar, por exemplo, a população de todas as cidades presentes. Para isso, fazemos um SELECT seguido da função SUM e da coluna que vamos somar.
SELECT SUM(population) from city;
Para facilitar a visualização desse valor, podemos dividi-lo por 1 bilhão.
SELECT SUM(population)/1000000000 from city;
Com isso, podemos visualizar que a população total é de 1,42 bilhões.
Nós contamos as cidades totais presentes na tabela, porém é possível agruparmos esses valores de acordo com o código do país. Para isso, utilizamos o comando GROUP BY.
Esse comando é utilizado para agrupar registros com base em uma coluna específica. Ou seja, podemos agrupar nossa tabela pela coluna de código dos países (countrycode) e contar o número de cidades para cada um.
SELECT
countrycode,
COUNT(*)
FROM city
GROUP BY countrycode;
Veja que essa consulta nos retornou uma tabela apenas com o código do país e com a quantidade de cidades presentes naquele país que estão registradas na tabela.
Apesar de conseguirmos o resultado desejado com o último exemplo, repare que ele não é muito intuitivo, pois não temos os nomes dos países, apenas os códigos que os representam.
Para sabermos quais são esses países, teríamos que consultar a tabela country.
Existe um comando no SQL que nos permite combinar informações de diferentes tabelas com base em uma coluna em comum, e esse comando é o JOIN.
Podemos realizar novamente nossa consulta utilizando esse comando.
SELECT
country.name,
COUNT(city.name)
FROM city
INNER JOIN country
ON city.CountryCode = country.code
GROUP BY country.name;
Nessa consulta, estamos especificando as colunas que desejamos no resultado: o nome dos países da tabela country (country.name) e o valor da contagem de nomes na tabela city (COUNT(city.name)).
Em seguida, indicamos a tabela da qual estamos selecionando os dados, onde está sendo feita a análise (FROM city).
O INNER JOIN é responsável por fazer essa junção entre as tabelas city e country e trazer as informações desejadas. Nesse caso, ele está unindo as duas tabelas onde o código do país na tabela city é igual ao código do país na tabela country (ON city.CountryCode = country.code).
Por fim, estamos agrupando os resultados pela coluna name da tabela country. Isso nos trará uma contagem de cidades por país específico.
Na aula de hoje, apresentei alguns comandos básicos em SQL, fundamentais para que você possa sair do zero em SQL e realizar suas primeiras consultas e análises de dados.
Exploramos os comandos SELECT, ORDER BY, WHERE, COUNT, SUM, GROUP BY e JOIN. Com esses conhecimentos, você estará apto a realizar consultas e até mesmo a relacionar tabelas em bancos de dados.
Para acessar outras publicações de SQL, clique aqui!
Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.