MySQL une-se ao Inner Join

Para este tutorial usaremos um dos bancos de dados de exemplo que o Mysql nos fornece gratuitamente, é chamado Sakila, também podemos baixar outros exemplos do site oficial do Mysql.

Muitas universidades os usam para testar o MySQL e para programação.
Em seguida, descompactamos o arquivo baixado e veremos dois arquivos sakila-schema.sql contendo a estrutura do banco de dados e sakila-data.sql Um contendo os dados de amostra.
O objetivo deste banco de dados é fornecer um ambiente de teste, seja para desenvolver software ou testar consultas sql e, assim, ser capaz de realizar testes com as possibilidades oferecidas pelo MySQL. A estrutura do Sakila é complexa, possui 1000 registros e múltiplos relacionamentos.
O banco de dados Sakila também contém exemplos de visualizações, procedimentos armazenados e acionadores.
Este banco de dados pressupõe uma locadora de filmes que pode ter filiais e fornecedores,
O processo pressupõe que, para alugar um filme, devemos primeiro confirmar que o filme está disponível ou em estoque, depois devemos verificar se o cliente existe no banco de dados e iremos atribuir o filme ou DVD ao cliente. Devemos também inserir a venda na tabela de pagamento. Dependendo das regras de negócio, também pode ser necessário verificar se o cliente possui saldo pendente.
Para verificar se o cliente existe por nome, podemos fazer uma consulta simples:
 selecione customer.customer_id, customer.store_id, CONCAT (customer.first_name, '', customer.last_name) como Customer from customer onde customer.first_name como 'Carlos% 
Neste tutorial, vamos nos concentrar em consultas combinadas realizando vários exemplos que serão explicados em detalhes.

Cláusula SQL Inner Join


Uma cláusula SQL JOIN é usada para combinar linhas de duas ou mais tabelas, com base em um campo comum entre elas.
JUNÇÃO INTERNA retorna todas as linhas unidas das tabelas que atendem à condição de junção.

Exemplo A


Queremos saber quais clientes alugaram filmes para isso temos a tabela Cliente e a tabela Locação, portanto devemos saber quais clientes estão na tabela Locação.
 selecione rental.rental_id, cliente.first_name, cliente.last_name, rental.rental_date, rental.return_date do aluguel INNER JOIN cliente ON rental.customer_id = customer.customer_id 
O resultado da execução desta cláusula será o seguinte:

Nesse caso, é o mesmo fazer a consulta com um Onde:
 selecione rental.rental_id, cliente.first_name, cliente.last_name, rental.rental_date, rental.return_date do aluguel, cliente onde rental.customer_id = cliente.customer_id 
A diferença é que a junção interna na otimização da consulta SQL será um pouco mais rápida.

Exemplo B


Temos duas lojas ou filiais que geram uma lista diária de aluguéis em atraso para que os clientes possam ser contatados e solicitados a devolver o filme.
Para gerar esta lista, deve-se buscar na tabela de locação os filmes com data de devolução NULL, ou seja, sem data e que a data de locação exceda o tempo ou número de dias estabelecido para que o cliente possa guardar o filme. Se esta condição for cumprida, o cliente fica em débito com o filme e o nome do filme deve constar da lista junto com o nome do cliente, telefone e e-mail. Também mostraremos se o filme foi pago, em que data foi pago e quanto foi pago.
 SELECT CONCAT (customer.last_name, ',', customer.first_name) AS cliente, address.phone, film.title, customer.email, rental.return_date, payment.payment_date, payment.amount FROM rental INNER JOIN cliente ON rental.customer_id = customer.customer_id INNER JOIN endereço ON customer.address_id = address.address_id INNER JOIN inventário ON rental.inventory_id = inventory.inventory_id INNER JOIN film ON inventory.film_id = film.film_id INNER JOIN pagamento ON payment.rental_id = rental.rental_id = rental.rental_id = rental.rental_id .return_date É NULL E rental_date + INTERVAL film.rental_duration DIA <CURRENT_DATE () 

Exemplo C


Queremos saber qual é o cliente que mais aluga filmes para isso, escrevemos a seguinte cláusula
 Selecione CONCAT (cliente.first_name, '', cliente.last_name) como Cliente, conte (rental.customer_id) como Total do aluguel interno, junte-se ao cliente em rental.customer_id = cliente.customer_id grupo por rental.customer_id ***** por total desc 
Portanto, podemos fazer muitos testes com o Mysql para testar o desempenho. Em outro tutorial, avançaremos em consultas mais complexas:

Exemplo C


Queremos saber qual é o cliente que mais aluga filmes para isso escrevemos a seguinte cláusula
 Selecione CONCAT (cliente.first_name, '', cliente.last_name) como Cliente, conte (rental.customer_id) como Total do aluguel interno, junte-se ao cliente em rental.customer_id = cliente.customer_id grupo por rental.customer_id ***** por total desc 
Portanto, podemos fazer muitos testes com MySQL para testar o desempenho. Em outro tutorial, avançaremos em consultas mais complexas.

Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo
wave wave wave wave wave