westwingbrasil / test-mysql Goto Github PK
View Code? Open in Web Editor NEWRepositório para teste MySQL do Westwing Brasil
Repositório para teste MySQL do Westwing Brasil
SELECT
CONCAT (c.nome, '', c.sobrenome) AS nome_completo,
c.id_cliente,
cs.cor AS cor_casa,
b.nome AS nome_bairro,
cr.modelo AS modelo_carro
FROM
cliente c
JOIN casa cs ON c.id_cliente = cs.fk_cliente
JOIN bairro b ON cs.fk_bairro = b.id_bairro
LEFT JOIN carro cr ON c.id_cliente = cr.fk_cliente;
SELECT
c.id_cliente,
c.nome AS cliente_nome,
c.sobrenome,
c.data_nascimento,
ca.cor AS cor_casa,
b.nome AS nome_bairro,
car.modelo AS modelo_carro
FROM
cliente c
JOIN casa ca ON c.id_cliente = ca.fk_cliente
JOIN bairro b ON ca.fk_bairro = b.id_bairro
LEFT JOIN carro car ON c.id_cliente = car.fk_cliente;
SELECT
c.nome AS cliente_nome,
casa.cor AS cor_casa,
bairro.nome AS nome_bairro,
carro.modelo AS modelo_carro
FROM
cliente c
JOIN casa ON c.id_cliente = casa.fk_cliente
JOIN bairro ON casa.fk_bairro = bairro.id_bairro
LEFT JOIN carro ON c.id_cliente = carro.fk_cliente;
SELECT
t.nome,sobrenome AS sobrenome_nome,
casa.cor AS cor_casa,
bairro.nome AS nome_bairro,
carro.modelo AS modelo_carro
FROM
cliente t
JOIN casa ON t.id_cliente = casa.fk_cliente
JOIN bairro ON casa.fk_bairro = bairro.id_bairro
JOIN carro ON t.id_cliente = carro.fk_cliente;
selecione CONCAT (c.nome, '', c.sobrenome) 'Nome Completo', ca.cor 'Cor da Casa', ba.nome 'Bairro', car.modelo 'Modelo Carro'do cliente como ccasa de junção interna como ca em ca.fk_cliente = c.id_cliente carro de junção interna como carro em ca.fk_cliente = car.fk_cliente interior junte bairro como ba em ca
SELECT cliente.id_cliente, cliente.nome, cliente.sobrenome, cliente.data_nascimento, carro.modelo, casa.cor, bairro.nome
FROM cliente
INNER JOIN carro ON cliente.id_cliente = carro.fk_cliente
INNER JOIN casa ON cliente.id_cliente = casa.fk_cliente
INNER JOIN bairro ON casa.fk_bairro = bairro.id_bairro;
SELECT
c.nome AS 'Nome do Cliente',
c.sobrenome AS 'Sobrenome do Cliente',
c.data_nascimento AS 'Data de Nascimento do Cliente',
cas.cor AS 'Cor da Casa',
b.nome AS 'Bairro',
car.modelo AS 'Modelo do Carro'
FROM
cliente c
LEFT JOIN
casa cas ON c.id_cliente = cas.fk_cliente
LEFT JOIN
bairro b ON b.id_bairro = cas.fk_bairro
LEFT JOIN
carro car ON car.fk_cliente = c.id_cliente;
SELECT
cliente.nome AS cliente, casa.cor AS casa_cor, bairro.nome AS bairro, carro.modelo AS carro
FROM
cliente
LEFT JOIN casa ON cliente.id_cliente = casa.fk_cliente
LEFT JOIN bairro ON casa.fk_bairro = bairro.id_bairro
LEFT JOIN carro ON carro.fk_cliente = cliente.id_cliente;
SELECT
cli.nome AS nome_cliente,
casa.cor AS cor_da_casa,
bairro.nome AS nome_do_bairro,
carro.modelo AS modelo_do_carro
FROM
cliente cli
JOIN casa ON cli.id_cliente = casa.fk_cliente
JOIN bairro ON casa.fk_bairro = bairro.id_bairro
LEFT JOIN carro ON cli.id_cliente = carro.fk_cliente;
127.0.0.1/westwing_brasil_teste/ http://localhost/phpmyadmin/index.php?route=/table/sql&db=westwing_brasil_teste&table=cl
localhost _ 127.0.0.1 _ westwing_brasil_teste _ phpMyAdmin 5.2.1.pdf
SELECT
cl.nome AS Cliente,
casa.cor AS CorCasa,
bairro.nome AS Bairro,
ca.modelo AS Carro
FROM
cliente cl
JOIN
casa casa ON cl.id_cliente = casa.fk_cliente
JOIN
bairro ON casa.fk_bairro = bairro.id_bairro
JOIN
carro ca ON cl.id_cliente = ca.fk_cliente;
Cliente CorCasa Bairro Carro
Fernando Vermelho Mooca Fiat
Bruno Roxo Ipiranga Mercedes
Fernanda Azul Vila Hamburguesa Honda
Arthur Rosa Lapa Toyota
Fernando Vermelho Mooca Lada
#Rodrigo Castilho Mendes
SELECT
c.nome,sobrenome AS sobrenome_nome,
casa.cor AS cor_casa,
bairro.nome AS nome_bairro,
carro.modelo AS modelo_carro
FROM
cliente c
JOIN casa ON c.id_cliente = casa.fk_cliente
JOIN bairro ON casa.fk_bairro = bairro.id_bairro
JOIN carro ON c.id_cliente = carro.fk_cliente;
-- RESOLUÇÂO --
-- 1º Fiz a criação de um banco de dados específico para este exercício
CREATE DATABASE IF NOT EXISTS resolucao_teste_westwingbrasil
-- 2º Visualizo os campos das tableas através deste comando:
SELECT * FROM cliente, casa, bairro, carro;
-- 3º Seleciono o nome dos clientes, as cores das casas, os bairros e os carros
SELECT CONCAT(cliente.nome, ' ', cliente.sobrenome) AS 'Nome do Cliente',
casa.cor AS 'Cor da Casa',
bairro.nome AS 'Bairro',
carro.modelo AS 'Carro' FROM cliente
INNER JOIN casa ON id_cliente = fk_cliente
INNER JOIN bairro ON id_cliente = id_bairro
INNER JOIN carro ON id_cliente = id_carro;
-- Até aqui esta consulta trás o obejtivo do exercício, porém posso simplificar esta consulta criando uma view
CREATE VIEW vw_consultacliente
AS
SELECT CONCAT(cliente.nome, ' ', cliente.sobrenome) AS 'Nome do Cliente',
casa.cor AS 'Cor da Casa',
bairro.nome AS 'Bairro',
carro.modelo AS 'Carro' FROM cliente
INNER JOIN casa ON id_cliente = fk_cliente
INNER JOIN bairro ON id_cliente = id_bairro
INNER JOIN carro ON id_cliente = id_carro;
/* Agora o que era um script grande pode ser reduzido a uma linha,
chamando este script como se fosse uma consulta normal no MySQL através do comando: */
SELECT * FROM vw_consultacliente;
-- Guilherme Gonçalves Ferreira da Silva
SELECT
CONCAT(c.nome, ' ', c.sobrenome) AS Nome_Completo,
ca.cor AS Cor_Casa,
b.nome AS Bairro,
car.modelo AS Modelo_Carro
FROM
cliente c
JOIN
casa ca ON c.id_cliente = ca.fk_cliente
JOIN
bairro b ON ca.fk_bairro = b.id_bairro
LEFT JOIN
carro car ON c.id_cliente = car.fk_cliente AND ca.fk_cliente = car.fk_cliente;
SELECT
cliente.nome AS NomeCliente,
casa.cor AS CorCasa,
bairro.nome AS NomeBairro,
carro.modelo AS ModeloCarro
FROM cliente
JOIN casa ON cliente.id_cliente = casa.fk_cliente
JOIN bairro ON casa.fk_bairro = bairro.id_bairro
LEFT JOIN carro ON cliente.id_cliente = carro.fk_cliente;
SELECT
c.nome AS cliente_nome,
c.sobrenome AS cliente_sobrenome,
ca.cor AS cor_casa,
b.nome AS bairro_nome,
car.modelo AS modelo_carro
FROM
cliente c
JOIN
casa ca ON c.id_cliente = ca.fk_cliente
JOIN
bairro b ON ca.fk_bairro = b.id_bairro
LEFT JOIN
carro car ON c.id_cliente = car.fk_cliente;
SELECT cliente.*, casa.cor, bairro.nome as nome_bairro, carro.modelo
FROM cliente
LEFT JOIN casa ON cliente.id_cliente = casa.fk_cliente
LEFT JOIN bairro ON casa.fk_bairro = bairro.id_bairro
LEFT JOIN carro ON cliente.id_cliente = carro.fk_cliente;
Nome: Liedson Danubio Oliveira Leite
Email: [email protected]
Vaga: 5938884 - Estágio em Suporte TI
SELECT
cli.id_cliente,
cli.nome AS nome_cliente,
cli.sobrenome,
cli.data_nascimento,
cas.cor AS cor_casa,
bai.nome AS nome_bairro,
car.modelo AS modelo_carro
FROM
cliente cli
LEFT JOIN
casa cas ON cli.id_cliente = cas.fk_cliente
LEFT JOIN
bairro bai ON cas.fk_bairro = bai.id_bairro
LEFT JOIN
carro car ON cli.id_cliente = car.fk_cliente
SELECT cliente.nome AS Cliente,
casa.cor AS Cor_da_Casa,
bairro.nome AS Bairro,
carro.modelo AS Carro,
FROM cliente
JOIN casa ON cliente.id_cliente = casa.fk_cliente
JOIN bairro ON casa.fk_bairro = bairro.id_bairro
JOIN carro ON cliente.id_cliente = carro.fk_cliente;
-- Começando selecionando o bairro
WITH bairro_casa AS
(
SELECT fk_cliente, cor, nome FROM casa CASA
INNER JOIN bairro BAIRRO ON CASA.fk_bairro = BAIRRO.id_bairro
)
SELECT
C.nome AS 'Nome do cliente',
C.sobrenome AS 'Sobrenome do cliente',
C.data_nascimento AS 'Data de nascimento',
K.cor AS 'Cor da casa',
BC.nome AS 'Bairro',
R.modelo AS 'Modelo do veículo'
FROM cliente C
INNER JOIN casa K ON K.fk_cliente = C.id_cliente
LEFT JOIN carro R ON R.fk_cliente = C.id_cliente -- Para pegar os clientes que não possuem carro
INNER JOIN bairro_casa BC ON BC.fk_cliente = C.id_cliente;
SELECT
cli.id_cliente,
cli.nome AS nome_cliente,
cli.sobrenome,
cli.data_nascimento,
cas.cor AS cor_casa,
bai.nome AS nome_bairro,
car.modelo AS modelo_carro
FROM
cliente cli
LEFT JOIN casa cas ON cli.id_cliente = cas.fk_cliente
LEFT JOIN bairro bai ON cas.fk_bairro = bai.id_bairro
LEFT JOIN carro car ON cli.id_cliente = car.fk_cliente;
Esta consulta SQL faz o seguinte:
Seleção de Colunas:
'id_cliente', 'nome_cliente', 'sobrenome', 'data_nascimento' da tabela 'cliente'.
'cor' da tabela 'casa'.
'nome' da tabela 'bairro'.
'modelo' da tabela 'carro'.
Junções (Joins):
'LEFT JOIN' entre 'cliente' e 'casa' usando a correspondência entre 'id_cliente' e 'fk_cliente'.
'LEFT JOIN' entre 'casa' e 'bairro' usando a correspondência entre 'fk_bairro' e 'id_bairro'.
'LEFT JOIN' entre 'cliente' e 'carro' usando a correspondência entre 'id_cliente' e 'fk_cliente'.
Isso garantirá que todos os clientes sejam incluídos na consulta, mesmo que não tenham casa, bairro ou carro associados.
Uma consulta ao banco de dados possibilitará a obtenção do relatório desejado com base nos dados do dump do projeto.
Nome: Luiz Fernandes de Matos Neves
contato: 16 99639-2245
email: [email protected]
Linkedin: https://www.linkedin.com/in/luiz-fernandes-matos-neves-a74a9a203/
Realização do Teste da empresa WestWing Brasil, para a vaga em Estágio em Suporte TI, abaixo encontramos o que foi proposto a ser feito
Fazer uma query que retorne o relatório abaixo:
SELECT
cl.nome AS Nome_Cliente,
ca.modelo AS Carro,
casa.cor AS Cor_Casa,
bai.nome AS Bairro
FROM cliente cl
LEFT JOIN casa ON cl.id_cliente = casa.fk_cliente
LEFT JOIN bairro bai ON casa.fk_bairro = bai.id_bairro
LEFT JOIN carro ca ON cl.id_cliente = ca.fk_cliente;
SELECT * FROM bairro inner join nome where bairro.id_barro=x.id_bairro
SELECT * FROM bairro inner join nome where bairro.id_barro=x.id_bairro
SELECT * FROM bairro inner join nome where bairro.id_barro=x.id_bairro
SELECT nome, sobrenome
FROM cliente;
SELECT cor
FROM casa;
SELECT nome
FROM bairro;
SELECT modelo
FROM carro;
select cliente.id_cliente, cliente.nome, casa.cor as cor_casa, bairro.nome as bairro, carro.modelo as carro
from cliente
join casa
on cliente.id_cliente = casa.fk_cliente
join bairro
on bairro.id_bairro = casa.fk_bairro
left join carro
on cliente.id_cliente = carro.fk_cliente
order by cliente.id_cliente;
-- Seleciona as colunas desejadas das tabelas cliente, casa, bairro, e carro
SELECT
cliente.nome AS nome_cliente, -- Nome do cliente
cliente.sobrenome, -- Sobrenome do cliente
cliente.data_nascimento, -- Data de nascimento do cliente
casa.cor AS cor_casa, -- Cor da casa do cliente
bairro.nome AS nome_bairro, -- Nome do bairro do cliente
carro.modelo AS modelo_carro -- Modelo do carro do cliente
FROM
cliente
JOIN casa ON cliente.id_cliente = casa.fk_cliente -- Junta a tabela casa usando a chave estrangeira fk_cliente
JOIN bairro ON casa.fk_bairro = bairro.id_bairro -- Junta a tabela bairro usando a chave estrangeira fk_bairro
LEFT JOIN carro ON cliente.id_cliente = carro.fk_cliente -- Utiliza LEFT JOIN para incluir clientes mesmo que não tenham carros;
SELECT
cliente.nome as Nome_cliente,
casa.cor as Cor_Casa,
bairro.nome as Bairro,
carro.modelo as Carro
FROM
cliente
join casa on cliente.id_cliente = casa.fk_cliente
join bairro on bairro.id_bairro = casa.fk_bairro
join carro on cliente.id_cliente = carro.fk_cliente
order by id_cliente;
SELECT cliente.*, casa.cor, b.nome,c.modelo
FROM CLIENTE cliente
JOIN CASA casa ON cliente.id_cliente = casa.fk_cliente
JOIN bairro b ON b.id_bairro = casa.fk_bairro
JOIN carro c ON c.fk_cliente = cliente.id_cliente
ou pode pesquisar assim:
SELECT
cliente.*,
casa.cor,
b.nome AS nome_bairro,
carro.modelo
FROM
CLIENTE cliente
JOIN CASA casa ON cliente.id_cliente = casa.fk_cliente
JOIN bairro b ON b.id_bairro = casa.fk_bairro
JOIN carro c ON c.fk_cliente = cliente.id_cliente;
SELECT CONCAT(cli.nome, ' ', cli.sobrenome) AS nome_completo, c.cor
AS cor_casa, b.nome AS bairro, car.modelo AS carro
FROM cliente cli
JOIN casa c
ON cli.id_cliente = c.id_casa
JOIN bairro b
ON cli.id_cliente = b.id_bairro
JOIN carro car
ON cli.id_cliente = car.id_carro;
SELECT
cliente.nome AS nome_cliente,
carro.modelo AS modelo_carro,
casa.cor AS cor_casa,
bairro.nome AS nome_bairro
FROM
cliente
JOIN
carro ON cliente.id_cliente = carro.fk_cliente
JOIN
casa ON cliente.id_cliente = casa.fk_cliente
LEFT JOIN
bairro ON casa.fk_bairro = bairro.id_bairro;
Nome: Caíque Castro Santana, email: [email protected]
Resposta:
SELECT
c.nome AS cliente_nome,
c.sobrenome AS cliente_sobrenome,
casa.cor AS cor_casa,
b.nome AS nome_bairro,
carro.modelo AS modelo_carro
FROM
cliente c
JOIN casa ON c.id_cliente = casa.fk_cliente
JOIN bairro b ON casa.fk_bairro = b.id_bairro
JOIN carro ON c.id_cliente = carro.fk_cliente;
SELECT
c.nome AS cliente_nome,
c.sobrenome AS cliente_sobrenome,
casa.cor AS cor_casa,
b.nome AS nome_bairro,
carro.modelo AS modelo_carro
FROM cliente AS c
INNER JOIN casa ON c.id_cliente = casa.fk_cliente
INNER JOIN bairro AS b ON casa.fk_bairro = b.id_bairro
INNER JOIN carro ON c.id_cliente = carro.fk_cliente;
SELECT c.id_cliente AS 'Id Cliente',
c1.cor AS 'Cor da Casa',
b.id_bairro AS 'Id Bairro',
b.nome AS 'Nome Bairro',
c2.id_carro AS 'Id Carro',
c2.modelo AS 'Modelo Carro'
FROM cliente c
INNER JOIN casa c1
ON c.id_cliente = c1.fk_cliente
INNER JOIN bairro b
ON b.id_bairro = c1.fk_bairro
INNER JOIN carro c2
ON c.id_cliente = c2.fk_cliente;
/*
Autora: Karina Carla Barbosa da Silva
e-mail : [email protected]
Criado: 13/11/2023 às 14:00h
Empresa: WestWing Brasil
Vaga: Estágio em Suporte de TI
*/
/*
Teste proposto
Fazer uma query que retorne o relatório abaixo:
CREATE SCHEMA TEST_MYSQL;
USE TEST_MYSQL;
SELECT * FROM TEST_MYSQL.CARRO;
SELECT * FROM TEST_MYSQL.CLIENTE;
SELECT * FROM TEST_MYSQL.CASA;
SELECT * FROM TEST_MYSQL.BAIRRO;
SELECT
C.NOME AS NOME_CLIENTE,
C.SOBRENOME AS SOBRENOME_CLIENTE,
C.DATA_NASCIMENTO AS DATA_NASCIMENTO_CLIENTE,
CS.COR AS COR_CASA_CLIENTE,
BR.NOME AS BAIRRO_CLIENTE,
CR.MODELO AS MODELO_CARRO_CLIENTE
FROM CLIENTE C
LEFT JOIN CASA CS ON C.ID_CLIENTE = CS.FK_CLIENTE
LEFT JOIN BAIRRO BR ON CS.FK_BAIRRO = BR.ID_BAIRRO
LEFT JOIN CARRO CR ON C.ID_CLIENTE = CR.FK_CLIENTE;
SELECT
c.nome AS todos_os_clientes,
c.sobrenome AS cliente_sobrenome,
casa.cor AS cor_de_suas_casas,
b.nome AS seus_bairros,
carro.modelo AS seus_carros
FROM cliente AS c
INNER JOIN casa ON c.id_cliente = casa.fk_cliente
INNER JOIN bairro AS b ON casa.fk_bairro = b.id_bairro
INNER JOIN carro ON c.id_cliente = carro.fk_cliente;
------ TESTE LEONARDO DE CICCIO FRANCO DE OLIVEIRA-----
SELECT
cl.nome AS cliente_nome,
cl.sobrenome AS cliente_sobrenome,
cl.data_nascimento AS cliente_data_nascimento,
cr.modelo AS carro_modelo,
cs.cor AS cor_casa,
b.nome AS nome_bairro
FROM
cliente cl
INNER JOIN carro cr ON cl.id_cliente = cr.fk_cliente
INNER JOIN casa cs ON cl.id_cliente = cs.fk_cliente
INNER JOIN bairro b ON cs.fk_bairro = b.id_bairro;
SELECT cliente.nome AS Nome,
cliente.sobrenome AS Sobrenome,
casa.cor AS Casa_Cor,
bairro.nome AS Bairro,
carro.modelo AS Carro,
FROM
cliente
JOIN casa ON cliente.id_cliente = casa.fk_cliente
JOIN bairro ON casa.fk_bairro = bairro.id_bairro
JOIN carro ON carro.fk_cliente = cliente.id_cliente;
SELECT
c.nome AS Nome,
c.sobrenome AS Sobrenome,
ca.cor AS Casa_Cor,
b.nome AS Bairro,
COALESCE(cr.modelo, 'Nenhum carro') AS Carro
FROM
cliente c
JOIN
casa ca ON c.id_cliente = ca.fk_cliente
JOIN
bairro b ON ca.fk_bairro = b.id_bairro
LEFT JOIN
carro cr ON c.id_cliente = cr.fk_cliente;
SELECT
cliente.nome AS nome_cliente, -- Nome do cliente
cliente.sobrenome, -- Sobrenome do cliente
cliente.data_nascimento, -- Data de nascimento
casa.cor AS cor_casa, -- Cor da casa do cliente
bairro.nome AS nome_bairro, -- Nome do bairro do cliente
carro.modelo AS modelo_carro -- Modelo do carro do cliente
FROM
cliente
JOIN casa ON cliente.id_cliente = casa.fk_cliente -- Junta a tabela casa usando a chave estrangeira fk_cliente
JOIN bairro ON casa.fk_bairro = bairro.id_bairro -- Junta a tabela bairro usando a chave estrangeira fk_bairro
LEFT JOIN carro ON cliente.id_cliente = carro.fk_cliente -- Utiliza LEFT JOIN para incluir clientes mesmo que não tenham carros;
SELECT
cliente.nome AS nome_cliente, cliente.sobrenome, cliente.data_nascimento, casa.cor AS cor_casa, bairro.nome AS nome_bairro,
carro.modelo AS modelo_carro FROM cliente
JOIN casa ON cliente.id_cliente = casa.fk_cliente
JOIN bairro ON casa.fk_bairro = bairro. id_bairro
LEFT JOIN carro ON cliente.id_cliente = = cr.fk_cliente;
Select
c.nome AS cliente_nome, casa.cor AS cor_da_casa, b.nome AS bairro, carro.modelo AS modelo_do_carro DO cliente c JUNTE-SE à casa ON c.id_cliente = casa.fk_cliente JUNTE-SE AO bairro b ON casa.fk_bairro = b.id_bairro LEFT JOIN carro ON c.id_cliente = carro.fk_cliente;
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.