Linguagem de consulta estruturada é o principal instrumento utilizado ao trabalhar com bancos de dados relacionais, portanto, todos que estão conectados com bancos de dados devem conhecê-lo. Se você é novo em SQL ou apenas deseja aprimorar seu conhecimento, este artigo o orienta através de 50 perguntas de entrevista de consulta SQL projetadas especificamente, do nível básico ao avançado.
Dados de tabela de amostra
Para melhor compreender e executar o Consultas SQLvamos começar examinando os dados de amostra usados neste artigo. As tabelas a seguir servirão de base para todas as consultas e exemplos.
Tabela de Funcionários
ID do funcionário | Primeiro nome | Sobrenome | ID do departamento | Salário | Knowledge de contratação | ID do gerente |
---|---|---|---|---|---|---|
1 | Alice | Johnson | 101 | 60.000 | 15/01/2018 | 3 |
2 | Prumo | Smith | 102 | 75.000 | 20/05/2017 | 3 |
3 | Charlie | Marrom | 101 | 90.000 | 30/09/2015 | NULO |
4 | Davi | Willians | 103 | 55.000 | 11/07/2019 | 3 |
5 | Eva | Davis | 102 | 65.000 | 2020-03-25 | 2 |
Tabela de Pedidos
ID do pedido | ID do funcionário | ID do produto | Quantidade | Knowledge do pedido |
---|---|---|---|---|
1001 | 1 | 201 | 10 | 15/01/2022 |
1002 | 2 | 202 | 5 | 16/01/2022 |
1003 | 3 | 203 | 20 | 17/01/2022 |
1004 | 4 | 202 | 15 | 18/01/2022 |
1005 | 5 | 204 | 25 | 19/01/2022 |
Tabela de Produtos
ID do produto | NomeDoProduto | Preço | Categoria |
---|---|---|---|
201 | Portátil | 1200 | Eletrônica |
202 | Smartphone | 800 | Eletrônica |
203 | Cadeira de escritório | 150 | Mobília |
204 | Mesa | 300 | Mobília |
205 | Monitor | 200 | Eletrônica |
Nível iniciante
Nesta seção, forneceremos uma diretriz de consultas SQL básicas que os alunos que são novos em SQL possam entender facilmente. Essas consultas básicas podem ser usadas como base para atingir um nível de conforto com os aspectos mais importantes do SQL, incluindo seleção de dados, formas de filtragem de dados e cálculos rudimentares.
Q1. Escreva uma consulta para exibir todos os registros da tabela Funcionários.
Responder:
SELECT * FROM Staff;
EmployeeID | FirstName | LastName | DepartmentID | Wage | HireDate | ManagerID
----------------------------------------------------------------------------
1 | Alice | Johnson | 10 | 160000 | 2018-01-15 | 32
2 | Bob | Smith | 10 | 275000 | 2017-05-20 | 33
3 | Charlie | Brown | 10 | 190000 | 2015-09-30 | NULL
4 | David | Williams | 10 | 355000 | 2019-07-11 | 35
5 | Eva | Davis | 10 | 265000 | 2020-03-25 | 32
Q2. Busque apenas o Nome e o Sobrenome dos funcionários.
Responder:
SELECT FirstName, LastName FROM Staff;
FirstName | LastName
--------------------
Alice | Johnson
Bob | Smith
Charlie | Brown
David | Williams
Eva | Davis
Q3. Recupere os IDs exclusivos de departamento da tabela Funcionários.
Responder:
SELECT DISTINCT DepartmentID FROM Staff;
DepartmentID
-------------
10
This autumn. Busque funcionários com salário superior a 60.000.
Responder:
SELECT * FROM Staff WHERE Wage > 60000;
EmployeeID | FirstName | LastName | DepartmentID | Wage | HireDate | ManagerID
----------------------------------------------------------------------------
1 | Alice | Johnson | 10 | 160000 | 2018-01-15 | 32
2 | Bob | Smith | 10 | 275000 | 2017-05-20 | 33
3 | Charlie | Brown | 10 | 190000 | 2015-09-30 | NULL
4 | David | Williams | 10 | 355000 | 2019-07-11 | 35
5 | Eva | Davis | 10 | 265000 | 2020-03-25 | 32
Q5. Escreva uma consulta para exibir todos os pedidos feitos em ou após 17 de janeiro de 2022.
Responder:
SELECT * FROM Orders WHERE OrderDate >= '2022-01-17';
OrderID | EmployeeID | ProductID | Amount | OrderDate
----------------------------------------------------------
1022 | 2 | 1 | 2 | 2022-01-16
1023 | 3 | 3 | 3 | 2022-01-17
1024 | 4 | 2 | 5 | 2022-01-18
1025 | 5 | 4 | 5 | 2022-01-19
Q6. Recupere todos os produtos com preço inferior a 300.
Responder:
SELECT * FROM Merchandise WHERE Value < 300;
ProductID | ProductName | Value | Class
--------------------------------------------
203 | Workplace Chair | 150 | Furnishings
204 | Desk | 300 | Furnishings
205 | Monitor | 200 | Electronics
Q7. Encontre o número complete de pedidos na tabela Pedidos.
Responder:
SELECT COUNT(*) AS TotalOrders FROM Orders;
TotalOrders
------------
5
Q8. Obtenha os detalhes do produto chamado ‘Laptop computer’.
Responder:
SELECT * FROM Merchandise WHERE ProductName="Laptop computer";
ProductID | ProductName | Value | Class
--------------------------------------------
201 | Laptop computer | 1200 | Electronics
Q9. Escreva uma consulta para classificar os funcionários por HireDate em ordem crescente.
Responder:
SELECT * FROM Staff ORDER BY HireDate ASC;
EmployeeID | FirstName | LastName | DepartmentID | Wage | HireDate | ManagerID
----------------------------------------------------------------------------
3 | Charlie | Brown | 10 | 190000 | 2015-09-30 | NULL
2 | Bob | Smith | 10 | 275000 | 2017-05-20 | 33
1 | Alice | Johnson | 10 | 160000 | 2018-01-15 | 32
4 | David | Williams | 10 | 355000 | 2019-07-11 | 35
5 | Eva | Davis | 10 | 265000 | 2020-03-25 | 32
Q10. Recuperar o preço máximo dos produtos da categoria Eletrônicos.
Responder:
SELECT MAX(Value) AS MaxPrice FROM Merchandise WHERE Class = 'Electronics';
MaxPrice
--------
1200
A seção seguinte do artigo trata do nível intermediário em Aprendizagem SQL, apresentando consultas mais abrangentes. Você continuará juntando tabelas, aprenderá como usar funções para filtrar dados, bem como operações complexas para resolver melhor as operações do mundo actual.
Q11. Escreva uma consulta para unir as tabelas Funcionários e Pedidos para buscar os nomes dos funcionários junto com seus pedidos.
Responder:
SELECT e.FirstName, e.LastName, o.OrderID, o.OrderDate
FROM Staff e
JOIN Orders o ON e.EmployeeID = o.EmployeeID;
FirstName | LastName | OrderID | OrderDate
-------------------------------------------
Alice | Johnson | 1022 | 2022-01-16
Bob | Smith | 1023 | 2022-01-17
Charlie | Brown | 1024 | 2022-01-18
David | Williams | 1025 | 2022-01-19
Q12. Calcule o salário complete por departamento.
Responder:
SELECT DepartmentID, SUM(Wage) AS TotalSalary
FROM Staff
GROUP BY DepartmentID;
DepartmentID | TotalSalary
-------------------------
10 | 1355000
Q13. Encontre os funcionários que não têm gerente.
Responder:
SELECT * FROM Staff WHERE ManagerID IS NULL;
EmployeeID | FirstName | LastName | DepartmentID | Wage | HireDate | ManagerID
----------------------------------------------------------------------------
3 | Charlie | Brown | 10 | 190000 | 2015-09-30 | NULL
Q14. Escreva uma consulta para exibir o preço médio do produto para cada categoria.
Responder:
SELECT Class, AVG(Value) AS AvgPrice
FROM Merchandise
GROUP BY Class;
Class | AvgPrice
-----------------------
Electronics | 800
Furnishings | 216.67
Q15. Obtenha os detalhes dos três funcionários mais bem pagos.
Responder:
SELECT * FROM Staff
ORDER BY Wage DESC
LIMIT 3;
EmployeeID | FirstName | LastName | DepartmentID | Wage | HireDate | ManagerID
----------------------------------------------------------------------------
4 | David | Williams | 10 | 355000 | 2019-07-11 | 35
2 | Bob | Smith | 10 | 275000 | 2017-05-20 | 33
5 | Eva | Davis | 10 | 265000 | 2020-03-25 | 32
Q16. Recupere os detalhes do pedido junto com o nome do produto.
Responder:
SELECT o.OrderID, o.Amount, p.ProductName, p.Value
FROM Orders o
JOIN Merchandise p ON o.ProductID = p.ProductID;
OrderID | Amount | ProductName | Value
-------------------------------------------
1022 | 2 | Laptop computer | 1200
1023 | 3 | Workplace Chair | 150
1024 | 5 | Smartphone | 800
1025 | 5 | Desk | 300
Q17. Encontre a quantidade complete de produtos encomendados para cada produto.
Responder:
SELECT ProductID, SUM(Amount) AS TotalQuantity
FROM Orders
GROUP BY ProductID;
ProductID | TotalQuantity
--------------------------
1 | 2
2 | 8
3 | 3
4 | 5
Q18. Escreva uma consulta para atualizar o preço de todos os produtos da categoria Móveis em 10%.
Responder:
UPDATE Merchandise
SET Value = Value * 1.10
WHERE Class = 'Furnishings';
Q19. Exclua todos os pedidos feitos antes de 17 de janeiro de 2022.
Responder:
DELETE FROM Orders WHERE OrderDate < '2022-01-17';
Q20. Busque funcionários cujo primeiro nome comece com ‘A’.
Responder:
SELECT * FROM Staff WHERE FirstName LIKE 'A%';
EmployeeID | FirstName | LastName | DepartmentID | Wage | HireDate | ManagerID
----------------------------------------------------------------------------
1 | Alice | Johnson | 10 | 160000 | 2018-01-15 | 32
Q21. Recuperar o número de funcionários contratados a cada ano.
Responder:
SELECT YEAR(HireDate) AS HireYear, COUNT(*) AS EmployeesHired
FROM Staff
GROUP BY YEAR(HireDate);
HireYear | EmployeesHired
-------------------------
2015 | 1
2017 | 1
2018 | 1
2019 | 1
2020 | 1
Q22. Escreva uma consulta para buscar funcionários que ganham mais do que o salário médio.
Responder:
SELECT * FROM Staff
WHERE Wage > (SELECT AVG(Wage) FROM Staff);
EmployeeID | FirstName | LastName | DepartmentID | Wage | HireDate | ManagerID
----------------------------------------------------------------------------
2 | Bob | Smith | 10 | 275000 | 2017-05-20 | 33
4 | David | Williams | 10 | 355000 | 2019-07-11 | 35
5 | Eva | Davis | 10 | 265000 | 2020-03-25 | 32
Q23. Exiba os 3 principais produtos com a maior quantidade complete vendida.
Responder:
SELECT p.ProductName, SUM(o.Amount) AS TotalQuantity
FROM Orders o
JOIN Merchandise p ON o.ProductID = p.ProductID
GROUP BY p.ProductName
ORDER BY TotalQuantity DESC
LIMIT 3;
ProductName | TotalQuantity
----------------------------
Smartphone | 8
Desk | 5
Workplace Chair| 3
Q24. Recupere os funcionários que não fizeram nenhum pedido.
Responder:
SELECT * FROM Staff
WHERE EmployeeID NOT IN (SELECT DISTINCT EmployeeID FROM Orders);
EmployeeID | FirstName | LastName | DepartmentID | Wage | HireDate | ManagerID
----------------------------------------------------------------------------
3 | Charlie | Brown | 10 | 190000 | 2015-09-30 | NULL
Q25. Escreva uma consulta para buscar o funcionário contratado mais recentemente.
Responder:
SELECT * FROM Staff
ORDER BY HireDate DESC
LIMIT 1;
EmployeeID | FirstName | LastName | DepartmentID | Wage | HireDate | ManagerID
----------------------------------------------------------------------------
5 | Eva | Davis | 10 | 265000 | 2020-03-25 | 32
Q26. Exiba todos os funcionários junto com o número complete de pedidos que eles atenderam.
Responder:
SELECT e.EmployeeID, e.FirstName, COUNT(o.OrderID) AS TotalOrders
FROM Staff e
LEFT JOIN Orders o ON e.EmployeeID = o.EmployeeID
GROUP BY e.EmployeeID, e.FirstName;
ID do funcionário | Primeiro nome | Whole de pedidos |
---|---|---|
1 | Alice | 2 |
2 | Prumo | 2 |
3 | Charlie | 1 |
4 | Davi | 1 |
5 | Eva | 0 |
Q27. Obtenha detalhes de produtos cujas vendas totais excedam US$ 10.000.
Responder:
SELECT p.ProductName, SUM(o.Amount * p.Value) AS TotalSales
FROM Orders o
JOIN Merchandise p ON o.ProductID = p.ProductID
GROUP BY p.ProductName
HAVING TotalSales > 10000;
NomeDoProduto | Vendas totais |
---|---|
Portátil | 24.000 |
Q28. Encontre funcionários que ingressaram na empresa no mesmo ano que seu gestor.
Responder:
SELECT e.FirstName AS EmployeeName, m.FirstName AS ManagerName
FROM Staff e
JOIN Staff m ON e.ManagerID = m.EmployeeID
WHERE YEAR(e.HireDate) = YEAR(m.HireDate);
NomeDoFuncionário | GerenteNome |
---|---|
Alice | Prumo |
Q29. Recupere os nomes dos funcionários com o salário mais alto em cada departamento.
Responder:
SELECT DepartmentID, FirstName, LastName, Wage
FROM Staff
WHERE (DepartmentID, Wage) IN (
SELECT DepartmentID, MAX(Wage)
FROM Staff
GROUP BY DepartmentID
);
ID do departamento | Primeiro nome | Sobrenome | Salário |
---|---|---|---|
1 | Alice | Johnson | 160.000 |
2 | Prumo | Smith | 75.000 |
3 | Davi | Willians | 55.000 |
Q30. Escreva uma consulta para obter a receita complete gerada por cada funcionário.
Responder:
SELECT e.FirstName, e.LastName, SUM(o.Amount * p.Value) AS TotalRevenue
FROM Staff e
JOIN Orders o ON e.EmployeeID = o.EmployeeID
JOIN Merchandise p ON o.ProductID = p.ProductID
GROUP BY e.EmployeeID, e.FirstName, e.LastName;
Primeiro nome | Sobrenome | Receita complete |
---|---|---|
Alice | Johnson | 32.000 |
Prumo | Smith | 63.000 |
Charlie | Marrom | 45.000 |
Davi | Willians | 30.000 |
Eva | Davis | 0 |
Nível Avançado
No nível avançado, lidamos com sínteses complexas de instruções de consulta SQL. Esta seção é dedicada à descrição de operações mais complexas, como classificação, funções de janela, subconsultas básicas e métodos de otimização para permitir a superação de tarefas complicadas na análise de dados.
Q31. Escreva uma consulta para buscar funcionários que ganham mais que seu gerente.
Responder:
SELECT e.FirstName AS EmployeeName, m.FirstName AS ManagerName
FROM Staff e
JOIN Staff m ON e.ManagerID = m.EmployeeID
WHERE e.Wage > m.Wage;
NomeDoFuncionário | GerenteNome |
---|---|
Alice | Prumo |
Q32. Recupere o segundo salário mais alto da tabela Funcionários.
Responder:
SELECT MAX(Wage) AS SecondHighestSalary
FROM Staff
WHERE Wage < (SELECT MAX(Wage) FROM Staff);
SecondHighestSalary
75000
Q33. Liste os departamentos sem funcionários atribuídos.
Responder:
SELECT * FROM Departments
WHERE DepartmentID NOT IN (SELECT DISTINCT DepartmentID FROM Staff);
ID do departamento | DepartamentoNome |
---|---|
4 | Advertising and marketing |
Q34. Escreva uma consulta para criar uma visualização mostrando os nomes dos funcionários e os nomes dos departamentos.
Responder:
CREATE VIEW EmployeeDepartmentView AS
SELECT e.FirstName, e.LastName, d.DepartmentName
FROM Staff e
JOIN Departments d ON e.DepartmentID = d.DepartmentID;
Primeiro nome | Sobrenome | DepartamentoNome |
---|---|---|
Alice | Johnson | ISTO |
Prumo | Smith | Vendas |
Charlie | Marrom | ISTO |
Davi | Willians | RH |
Eva | Davis | Vendas |
Q35. Busque os nomes dos funcionários que fizeram mais de 10 pedidos.
Responder:
SELECT e.FirstName, e.LastName
FROM Staff e
JOIN Orders o ON e.EmployeeID = o.EmployeeID
GROUP BY e.EmployeeID, e.FirstName, e.LastName
HAVING COUNT(o.OrderID) > 10;
Primeiro nome | Sobrenome |
---|---|
Alice | Johnson |
Prumo | Smith |
Q36. Escreva uma consulta para classificar os funcionários com base no salário em cada departamento.
Responder:
SELECT EmployeeID, FirstName, DepartmentID, Wage,
RANK() OVER (PARTITION BY DepartmentID ORDER BY Wage DESC) AS Rank
FROM Staff;
ID do funcionário | Primeiro nome | ID do departamento | Salário | Classificação |
---|---|---|---|---|
1 | Alice | 1 | 160.000 | 1 |
3 | Charlie | 1 | 190.000 | 2 |
2 | Prumo | 2 | 75.000 | 1 |
4 | Davi | 3 | 55.000 | 1 |
5 | Eva | 2 | 65.000 | 2 |
Q37. Recupere as vendas acumuladas de cada produto.
Responder:
SELECT ProductID, ProductName,
SUM(SUM(Amount * Value)) OVER (ORDER BY ProductID) AS CumulativeSales
FROM Merchandise p
JOIN Orders o ON p.ProductID = o.ProductID
GROUP BY ProductID, ProductName;
ID do produto | NomeDoProduto | Vendas cumulativas |
---|---|---|
201 | Portátil | 24.000 |
202 | Smartphone | 32.000 |
203 | Cadeira de escritório | 1500 |
204 | Mesa | 3.000 |
205 | Monitor | 1500 |
Q38. Identifique o departamento com as maiores despesas salariais totais.
Responder:
SELECT DepartmentID, SUM(Wage) AS TotalExpenditure
FROM Staff
GROUP BY DepartmentID
ORDER BY TotalExpenditure DESC
LIMIT 1;
ID do departamento | Despesas Totais |
---|---|
1 | 450.000 |
Q39. Escreva uma consulta para encontrar a contribuição percentual de cada produto nas vendas totais.
Responder:
SELECT p.ProductName,
(SUM(o.Amount * p.Value) * 100.0 /
(SELECT SUM(Amount * Value) FROM Orders o JOIN Merchandise p ON o.ProductID = p.ProductID)) AS ContributionPercentage
FROM Orders o
JOIN Merchandise p ON o.ProductID = p.ProductID
GROUP BY p.ProductName;
NomeDoProduto | Porcentagem de contribuição |
---|---|
Portátil | 48,00 |
Smartphone | 32h00 |
Cadeira de escritório | 4h00 |
Mesa | 8h00 |
Monitor | 8h00 |
Q40. Encontre funcionários que tenham o mesmo gerente e ganhem mais de US$ 70.000.
Responder:
SELECT *
FROM Staff e1
WHERE ManagerID IS NOT NULL
AND Wage > 70000
AND ManagerID IN (
SELECT ManagerID FROM Staff e2 WHERE e1.ManagerID = e2.ManagerID
);
ID do funcionário | Primeiro nome | Sobrenome | Salário | ID do gerente |
---|---|---|---|---|
1 | Alice | Johnson | 160.000 | 32 |
2 | Prumo | Smith | 75.000 | 32 |
Q41. Escreva uma consulta para detectar linhas duplicadas na tabela Pedidos.
Responder:
SELECT EmployeeID, ProductID, OrderDate, COUNT(*) AS DuplicateCount
FROM Orders
GROUP BY EmployeeID, ProductID, OrderDate
HAVING COUNT(*) > 1;
ID do funcionário | ID do produto | Knowledge do pedido | Contagem Duplicada |
---|---|---|---|
1 | 201 | 15/01/2022 | 2 |
Q42. Obtenha os detalhes dos pedidos feitos no mesmo dia por vários funcionários.
Responder:
SELECT OrderDate, COUNT(DISTINCT EmployeeID) AS EmployeeCount
FROM Orders
GROUP BY OrderDate
HAVING EmployeeCount > 1;
Knowledge do pedido | Contagem de funcionários |
---|---|
15/01/2022 | 2 |
16/01/2022 | 2 |
17/01/2022 | 1 |
Q43. Crie um procedimento armazenado para atualizar os preços dos produtos com base na categoria.
Responder:
DELIMITER $$
CREATE PROCEDURE UpdatePriceByCategory(IN category_name VARCHAR(50), IN price_factor DECIMAL(5, 2))
BEGIN
UPDATE Merchandise
SET Value = Value * price_factor
WHERE Class = category_name;
END$$
DELIMITER ;
Q44. Escreva uma consulta para calcular o avanço e o atraso nas datas dos pedidos para cada funcionário.
Responder:
SELECT EmployeeID, OrderID, OrderDate,
LAG(OrderDate) OVER (PARTITION BY EmployeeID ORDER BY OrderDate) AS PreviousOrderDate,
LEAD(OrderDate) OVER (PARTITION BY EmployeeID ORDER BY OrderDate) AS NextOrderDate
FROM Orders;
ID do funcionário | ID do pedido | Knowledge do pedido | Knowledge do pedido anterior | Knowledge do próximo pedido |
---|---|---|---|---|
1 | 1 | 15/01/2022 | NULO | 16/01/2022 |
2 | 2 | 16/01/2022 | 15/01/2022 | 17/01/2022 |
3 | 3 | 17/01/2022 | NULO | NULO |
Q45. Identifique os produtos que não foram encomendados.
Responder:
SELECT * FROM Merchandise
WHERE ProductID NOT IN (SELECT DISTINCT ProductID FROM Orders);
ID do produto | NomeDoProduto |
---|---|
204 | Mesa |
205 | Monitor |
Q46. Escreva uma consulta para buscar funcionários cuja quantidade complete de pedidos esteja entre 50 e 100.
Responder:
SELECT e.FirstName, e.LastName, SUM(o.Amount) AS TotalQuantity
FROM Staff e
JOIN Orders o ON e.EmployeeID = o.EmployeeID
GROUP BY e.EmployeeID, e.FirstName, e.LastName
HAVING TotalQuantity BETWEEN 50 AND 100;
Primeiro nome | Sobrenome | Quantidade Whole |
---|---|---|
Prumo | Smith | 60 |
Q47. Busque a segunda maior quantidade solicitada para cada produto.
Responder:
SELECT ProductID, MAX(Amount) AS SecondHighestQuantity
FROM Orders
WHERE Amount < (SELECT MAX(Amount) FROM Orders WHERE Orders.ProductID = ProductID)
GROUP BY ProductID;
ID do produto | Segunda maior quantidade |
---|---|
201 | 20 |
202 | 30 |
203 | 10 |
Q48. Encontre as quantidades mínimas e máximas do pedido para cada funcionário.
Responder:
SELECT EmployeeID, MIN(Amount) AS MinQuantity, MAX(Amount) AS MaxQuantity
FROM Orders
GROUP BY EmployeeID;
ID do funcionário | Quantidade mínima | Quantidade Máxima |
---|---|---|
1 | 10 | 20 |
2 | 20 | 40 |
3 | 10 | 10 |
Q49. Escreva uma consulta para dividir os salários dos funcionários em quartis.
Responder:
SELECT EmployeeID, FirstName, Wage,
NTILE(4) OVER (ORDER BY Wage) AS SalaryQuartile
FROM Staff;
ID do funcionário | Primeiro nome | Salário | SalárioQuartil |
---|---|---|---|
1 | Alice | 160.000 | 4 |
2 | Prumo | 75.000 | 3 |
3 | Charlie | 190.000 | 4 |
4 | Davi | 55.000 | 2 |
5 | Eva | 65.000 | 2 |
Q50. Crie uma tabela temporária para pedidos com receita alta (maior que US$ 5.000)
Responder:
CREATE TEMPORARY TABLE HighRevenueOrders AS
SELECT o.OrderID, o.Amount, p.Value, (o.Amount * p.Value) AS Income
FROM Orders o
JOIN Merchandise p ON o.ProductID = p.ProductID
WHERE (o.Amount * p.Value) > 5000;
ID do pedido | Quantidade | Preço | Receita |
---|---|---|---|
1 | 10 | 1200 | 12.000 |
2 | 25 | 800 | 20.000 |
Conclusão
Dominar as perguntas da entrevista de consulta SQL fornece uma base sólida para gerenciamento e análise eficiente de dados. Ao praticar essas perguntas da entrevista de consulta SQL, você aprimora sua capacidade de trabalhar com bancos de dados do mundo actual, tornando mais fácil recuperar, manipular e interpretar dados de maneira eficaz. Esteja você apenas começando ou aprimorando suas habilidades, o SQL continua sendo uma ferramenta essencial para qualquer profissional de dados, e a compreensão de seus diversos recursos desbloqueará inúmeras oportunidades para solução de problemas e geração de insights.