Gerenciamento de Banco de Dados e Self-Join em SQL

MySQLBeginner
Pratique Agora

Introdução

Neste projeto, você aprenderá como criar um banco de dados, uma tabela e inserir dados na tabela. Você também aprenderá como realizar uma consulta de auto-junção (self-join) nos dados para encontrar a província à qual uma cidade pertence.

👀 Pré-visualização

Pré-visualização do projeto de banco de dados

🎯 Tarefas

Neste projeto, você aprenderá:

  • Como iniciar o serviço MySQL e acessar o MySQL usando o comando sudo sem nenhuma senha.
  • Como criar um banco de dados, uma tabela e inserir dados na tabela.
  • Como escrever uma consulta de auto-junção na tabela division para encontrar a província de cada cidade.
  • Como executar o script de consulta de auto-junção no MySQL.

🏆 Conquistas

Após concluir este projeto, você será capaz de:

  • Compreender as operações básicas de criação de um banco de dados, uma tabela e inserção de dados no MySQL.
  • Realizar consultas de auto-junção para recuperar informações relacionadas de uma tabela.
  • Aplicar seu conhecimento de consultas SQL para resolver problemas do mundo real.

Iniciar o Serviço MySQL e Acessar o MySQL

Nesta etapa, você aprenderá como iniciar o serviço MySQL e acessar o MySQL usando o comando sudo sem nenhuma senha.

  1. Inicie o serviço MySQL:
sudo service mysql start
  1. Acesse o MySQL:
sudo mysql

Você agora deve ser capaz de acessar o prompt do MySQL sem nenhuma senha.

Criar Banco de Dados, Tabela e Inserir Dados

Nesta etapa, você aprenderá como criar um banco de dados, uma tabela e inserir dados na tabela.

  1. Crie o banco de dados division:
CREATE DATABASE division;
  1. Use o banco de dados division:
USE division;
  1. Crie a tabela division:
CREATE TABLE division (
  id INT PRIMARY KEY,
  name VARCHAR(22),
  province_id INT
);
  1. Insira dados na tabela division:
INSERT INTO division VALUES
(1, 'Ontario', NULL),
(2, 'Toronto', 1),
(3, 'Quebec', NULL),
(4, 'Montreal', 3);

Escrever a Query de Self-Join

Nesta etapa, você aprenderá como escrever uma consulta self-join na tabela division para encontrar a província à qual uma cidade pertence.

  1. Crie um novo arquivo chamado getProvince.sql no diretório /home/labex/project.

  2. No arquivo getProvince.sql, adicione a seguinte consulta:

SELECT city.name AS City, province.name AS Province
FROM division AS city
JOIN division AS province ON city.province_id = province.id
WHERE city.province_id IS NOT NULL;

Esta consulta realiza um self-join na tabela division, onde a tabela city é unida à tabela province com base na coluna province_id. A cláusula WHERE garante que apenas as cidades com um province_id não nulo sejam incluídas no resultado.

A tabela resultante terá as colunas rotuladas como City e Province.

Executar a Query de Self-Join

Nesta etapa, você aprenderá como executar o script de consulta self-join no MySQL.

  1. Volte para o prompt do MySQL:
sudo mysql
  1. Execute o script getProvince.sql:
SOURCE /home/labex/project/getProvince.sql;

Você deve ver a seguinte saída:

MariaDB [division]> SOURCE /home/labex/project/getProvince.sql;
+----------+----------+
| City     | Province |
+----------+----------+
| Toronto  | Ontario  |
| Montreal | Quebec   |
+----------+----------+
2 rows in set (0.000 sec)

Esta saída mostra as cidades e suas respectivas províncias, conforme recuperado pela consulta self-join.

Parabéns! Você concluiu com sucesso o projeto, criando um banco de dados, uma tabela, inserindo dados e executando uma consulta self-join para encontrar a província de cada cidade.

Resumo

Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.

✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar