Nesta lição de SQL avançado, discutiremos o uso de junções. As junções permitem mesclar dados em tabelas. O diagrama de Venn nos mostra como funciona uma junção à esquerda. A junção à esquerda diz que quero que você puxe linhas da tabela A que têm um valor correspondente na tabela B. Agora, a maneira de juntar isso é usando uma chave. Vamos dar uma olhada em nosso esquema de tabela para identificar a chave que precisamos usar. Se quisermos pesquisar nossas tabelas de filme e inventário, podemos nos juntar a eles usando nosso film_id. Em nossa mesa de filme, é uma chave primária, enquanto em nossa tabela de inventário, é uma chave estrangeira. Vamos ver como é essa declaração em nossa ferramenta pgAdmin. Então aqui está a nossa junção externa esquerda em que estamos selecionando o film_id, o título, e o inventory_id de nossa mesa de filme juntando-o à esquerda para nossa tabela de inventário usando a chave film_id. Vamos executar essa consulta e ver o que obtemos. Ótimo, agora nossos resultados mostram nosso filme, e title, e inventory_id com base nessa junção esquerda externa. O próximo tipo de junção que discutiremos é a junção interna. Para cada linha da tabela A, junção interna compara o valor na coluna PKA com o valor e a coluna FKA de cada linha da tabela B. Então, se esses valores forem iguais, em seguida, uma nova linha é criada no conjunto de resultados, juntando as colunas de ambas as tabelas. Nos casos em que os valores não são iguais, a junção interna irá ignorá-los e mover para a próxima linha. Vamos ver como juntar três tabelas usando junção interna. Aqui estamos selecionando dados que existem tanto no pagamento do cliente, bem como a mesa dos funcionários. Então, estamos procurando o customer_id, o primeiro_nome do cliente, o sobrenome do cliente, junto com o first_name da equipe, o sobrenome da equipe, e o valor gasto pelo cliente junto com a data de pagamento. Vamos olhar para a mesa do cliente, a tabela de pagamento e a tabela de funcionários. Nossas chaves primárias serão customer_id na tabela de clientes e staff_id na mesa da equipe. Usaremos esses para criar nossa junção. Você vê aqui, depois de identificar os elementos de dados, colocamos nossa mesa do cliente FROM e nossos JOINs abaixo disso, pagamento INNER JOIN. Estamos usando nossos aliases, então estamos usando p. Estamos nos juntando ao customer_id da tabela de pagamento para o customer_id na mesa do cliente. E então vamos juntar o staff_id na mesa do staff para o staff_id na tabela de pagamento. Vamos executar esta consulta e ver o que obtemos. Ok, então recebemos nossos elementos de dados de volta. E, novamente, está olhando apenas para dados que existe em todas essas três tabelas. Isso é usar junções para mesclar dados entre tabelas. Em nossa próxima lição, veremos o uso de funções agregadas.