Połączenia wewnętrzne – INNER JOIN (lub po prostu JOIN)
Złączenie wewnętrzne kojarzy ze sobą rekordy występujące w dwóch lub więcej tabelach i zwraca w wyniku tylko pasujące rekordy. Złączenie wewnętrzne może być zdefiniowane w sposób jasno określony (wyraźny) lub domniemany. Złączenie domniemane jest bardziej intuicyjne i najczęściej spotykane.
Postać połączenia wewnętrznego:
SELECT * FROM tab1, tab2 WHERE tab1.ID=tab2.ID
lub
SELECT * FROM tab1 INNER JOIN tab2 ON tab1.ID=tab2.ID
Przykład (na bazie danych firma):
Aby wyświetlić imię i nazwisko pracownika oraz jego wykształcenie, należy zastosować polecenie:
SELECT IMIE, NAZWISKO, nazwa FROM pracownicy INNER JOIN wyksztalcenie ON pracownicy.KOD_WYKSZTALCENIA=wyksztalcenie.KOD_WYKSZTALCENIA
Połączenia zewnętrzne – OUTER JOIN
Jest rozszerzeniem połączenia INNER JOIN. Pozwala na włączenie do tabeli wynikowej rekordów, które kwalifikują się do tabeli wynikowej na podstawie polecenia INNER JOIN i dodatkowo pozwala włączyć wybrane rekordy niespełniające warunków zapytania. Połączenie zewnętrzne może przybrać następujące postacie:
SELECT * FROM tab1 LEFT OUTER JOIN tab2 ON tab1.ID=tab2.ID;
SELECT * FROM tab1 RIGHT OUTER JOIN tab2 ON tab1.ID=tab2.ID;
SELECT * FROM tab1 FULL OUTER JOIN tab2 ON tab1.ID=tab2.ID;