-- INNER JOIN

SELECT * FROM Employes
-- Quero ver tudo (*) dos empregados (Employes)

INNER JOIN Department
-- Quero juntar isso com a tabela dos departamentos (Department)
    
ON Employes.Dep = Department.id_dep;
-- Liga cada empregado ao seu departamento,
-- onde o número do departamento do empregado (Employes.Dep)
-- é igual ao número do departamento na tabela de departamentos (Department.id)

ON table1.fk = table2.fk


-- LEFT JOIN

-- Quero juntar as tabelas, mas mostrando TODOS os empregados,
-- mesmo que não tenham departamento.

SELECT * FROM Employes 
-- Escolhe tudo (*) da tabela de empregados.

LEFT JOIN Department
-- Junta com a tabela dos departamentos,
-- mas garante que TODOS os empregados aparecem.

ON Employes.Dep = Department.id_Dep;
-- Liga o número do departamento do empregado (Employes.Dep)
-- com o número do departamento na tabela dos departamentos (Department.id_Dep).
-- Se não existir departamento, mostra NULL.



-- RIGHT JOIN

 -- Quero juntar as tabelas, mas mostrando TODOS os departamentos,
-- mesmo que não tenham empregados.

SELECT * FROM Employes
-- Escolhe tudo (*) da tabela de empregados.

RIGHT JOIN Department
-- Junta com a tabela dos departamentos,
-- mas garante que TODOS os departamentos aparecem,
-- mesmo que não tenham empregados.

ON Employes.Dep = Department.id_Dep;
-- Liga o número do departamento do empregado (Employes.Dep)
-- com o número do departamento na tabela dos departamentos (Department.id_Dep).
-- Se não existir empregado nesse departamento, mostra NULL.


SELECT * FROM Employes AS E RIGHT JOIN Department AS D ON D.id = E.Dep;

SELECT * FROM Employes AS E 
-- Quero ver tudo (*) da tabela dos empregados (Employes)
-- mas vou chamar essa tabela só de E, para ficar mais curtinho.

RIGHT JOIN Department AS D 
-- Vou juntar com a tabela dos departamentos (Department),
-- e vou chamar essa tabela só de D.

ON D.id = E.Dep;
-- Agora ligo as duas tabelas usando o ponto (.)
-- D.id quer dizer: na tabela D (Department), usa a coluna id
-- E.Dep quer dizer: na tabela E (Employes), usa a coluna Dep
-- 
-- Assim estou a dizer:
-- "Junta o departamento D.id com o empregado E.Dep
-- para saber quem trabalha em qual departamento."
