-- Tabela de clientes
CREATE TABLE clientes (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nome VARCHAR(100) NOT NULL,
    idade INT,
    cidade VARCHAR(100),
    telefone VARCHAR(15)
);

-- Tabela de pedidos
CREATE TABLE pedidos (
    id INT PRIMARY KEY AUTO_INCREMENT,
    cliente_id INT,
    valor DECIMAL(10, 2),
    data_pedido DATE,
    FOREIGN KEY (cliente_id) REFERENCES clientes(id)
);

-- Tabela de fornecedores
CREATE TABLE fornecedores (
    fornecedor_id INT PRIMARY KEY AUTO_INCREMENT,
    nome VARCHAR(150) NOT NULL
);
INSERT INTO fornecedores (nome) VALUES
('Dell'),
('Samsung'),
('Vaio'),
('HP');

INSERT INTO clientes (nome, idade, cidade, telefone) VALUES
('João Silva', 25, 'São Paulo', '11987654321'),
('Maria Oliveira', 30, 'Rio de Janeiro', '21987654321'),
('Carlos Souza', 22, 'Belo Horizonte', NULL),
('Ana Costa', 35, 'São Paulo', '11912345678'),
('Pedro Rocha', 28, 'Curitiba', '41987654321'),
('Luiza Mendes', 40, 'Rio de Janeiro', NULL),
('Fernando Lima', 18, 'São Paulo', '11999999999'),
('Juliana Santos', 50, 'Porto Alegre', '51987654321'),
('Ricardo Alves', 33, 'Belo Horizonte', '31987654321'),
('Camila Pereira', 27, 'São Paulo', '11988888888');

INSERT INTO pedidos (cliente_id, valor, data_pedido) VALUES
(1, 150.00, '2023-10-01'),
(2, 200.00, '2023-10-02'),
(1, 300.00, '2023-10-03'),
(3, 100.00, '2023-10-04'),
(4, 500.00, '2023-10-05'),
(5, 250.00, '2023-10-06'),
(2, 400.00, '2023-10-07'),
(6, 350.00, '2023-10-08'),
(7, 450.00, '2023-10-09'),
(8, 600.00, '2023-10-10'),
(9, 700.00, '2023-10-11'),
(10, 800.00, '2023-10-12'),
(1, 900.00, '2023-10-13'),
(2, 1000.00, '2023-10-14'),
(3, 150.00, '2023-10-15');



-- SELECT nome, idade FROM clientes;

-- SELECT * FROM clientes;

-- SELECT * FROM clientes WHERE idade > 30;

-- SELECT * FROM clientes ORDER BY nome ASC;

-- SELECT cidade, COUNT(*) FROM clientes GROUP BY cidade;

-- SELECT cidade, COUNT(*) FROM clientes GROUP BY cidade HAVING COUNT(*) > 3;

-- SELECT clientes.nome, pedidos.valor 
-- FROM clientes 
-- JOIN pedidos ON clientes.id = pedidos.cliente_id; -- COMBINA AS TABELAS

-- SELECT clientes.nome, pedidos.valor 
-- FROM clientes 
-- INNER JOIN pedidos ON clientes.id = pedidos.cliente_id; -- RETORNA APENAS OS CLIENTES QUE FIZERAM PEDIDOS

-- SELECT clientes.nome, pedidos.valor 
-- FROM clientes 
-- LEFT JOIN pedidos ON clientes.id = pedidos.cliente_id;

-- SELECT clientes.nome, pedidos.valor 
-- FROM clientes 
-- RIGHT JOIN pedidos ON clientes.id = pedidos.cliente_id;

-- SELECT clientes.nome, pedidos.valor 
-- FROM clientes 
-- FULL JOIN pedidos ON clientes.id = pedidos.cliente_id; 
-- NÃO SUPORTADO NO MYSQL

-- SELECT DISTINCT cidade FROM clientes;

-- SELECT * FROM clientes LIMIT 5;

-- SELECT * FROM clientes LIMIT 2 OFFSET 5;

-- SELECT nome FROM clientes 
-- UNION 
-- SELECT nome FROM fornecedores;

-- SELECT nome FROM clientes 
-- UNION ALL 
-- SELECT nome FROM fornecedores;

-- SELECT nome AS nome_cliente, idade AS anos FROM clientes;

-- SELECT COUNT(*) FROM clientes;

-- SELECT SUM(valor) FROM pedidos;

-- SELECT AVG(idade) FROM clientes;

-- SELECT MIN(valor) FROM pedidos;

-- SELECT MAX(valor) FROM pedidos;

-- SELECT * FROM clientes WHERE nome LIKE 'An%';

-- SELECT * FROM clientes WHERE cidade IN ('São Paulo', 'Rio de Janeiro');

-- SELECT * FROM pedidos WHERE valor BETWEEN 100 AND 500;

-- SELECT * FROM clientes WHERE telefone IS NULL;

-- SELECT nome FROM clientes 
-- WHERE EXISTS (SELECT 1 FROM pedidos WHERE pedidos.cliente_id = clientes.id);

SELECT nome, 
    CASE 
           WHEN idade < 18 THEN 'Menor de idade' 
           ELSE 'Maior de idade' 
       END AS status_idade 
FROM clientes;

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: