Szybki przewodnik po użyciu złączeń wewnętrznych w SQL

click fraud protection

Relacyjne bazy danych są stabilne wielu biznesów. Są one tworzone za pomocą języka komputerowego o nazwie Structured Query Language (SQL). Jeśli pracujesz z relacją bazy danych, od czasu do czasu będziesz badać lub gromadzić dane znajdujące się w więcej niż jednej tabeli bazy danych.

Co to jest instrukcja SQL JOIN?

Instrukcja SQL JOIN umożliwia łączenie dwóch lub więcej tabel, zwykle na podstawie powiązanej kolumny, dzięki czemu dane są traktowane tak, jakby znajdowały się w jednej tabeli. Same tabele nie są zmieniane przez sprzężenie.

DOŁĄCZ DO SQL jest elastyczny i funkcjonalny. Chociaż istnieje kilka typów sprzężeń, sprzężenie wewnętrzne jest jednym z najłatwiejszych do zrozumienia i użycia. Spójrz na poniższe instrukcje SQL, które ilustrują sposób łączenia wyników z trzech różnych tabel przy użyciu sprzężenia wewnętrznego.

Przykład łączenia wewnętrznego

Na przykład weź tabele zawierające sterowniki w jednym stole, a w drugim pojedynki pojazdów. Sprzężenie wewnętrzne występuje, gdy zarówno pojazd, jak i kierowca znajdują się w tym samym mieście. Sprzężenie wewnętrzne wybiera wszystkie wiersze z obu tabel, które zawierają dopasowanie między kolumnami lokalizacji.

instagram viewer

Poniższa instrukcja SQL łączy dane z tabel Kierowcy i Pojazdy w przypadkach, gdy kierowca i pojazd znajdują się w tym samym mieście:

SELECT nazwisko, imię, tag
OD kierowców, pojazdów
GDZIE kierowcy.lokalizacja = pojazdy.lokalizacja

To zapytanie daje następujące wyniki:

nazwisko nazwisko tag

Baker Roland H122JM
Smythe Michael D824HA
Smythe Michael P091YF
Jacobs Abraham J291QR
Jacobs Abraham L990MT

Teraz rozszerz ten przykład o trzecią tabelę. Aby uwzględnić tylko kierowców i pojazdy znajdujące się w lokalizacjach, które są otwarte w weekend, wprowadź do zapytania trzecią tabelę, rozszerzając instrukcję JOIN w następujący sposób:

SELECT nazwisko, imię, tag, otwarte_weekendy
OD kierowców, pojazdów, lokalizacji
GDZIE kierowcy.lokalizacja = pojazdy.lokalizacja
ORAZ pojazdy.lokalizacja = lokalizacje.lokalizacja
AND location.open_weekends = 'Tak'

To zapytanie daje następujące wyniki:

nazwisko tag z imieniem open_weekends

Baker Roland H122JM tak
Jacobs Abraham J291QR tak
Jacobs Abraham L990MY tak

To potężne rozszerzenie podstawowej instrukcji SQL JOIN łączy dane w złożony sposób. Oprócz łączenia tabel za pomocą sprzężenia wewnętrznego technika ta łączy wiele tabel z innymi typami sprzężeń.

Inne rodzaje połączeń

Gdy tabele mają pasujący rekord, najlepszym rozwiązaniem są sprzężenia wewnętrzne, ale czasami jedna tabela nie ma rekordu pokrewnego dla danych, na których zbudowane jest sprzężenie, więc zapytanie kończy się niepowodzeniem. Ta sprawa wymaga złącze zewnętrzne, który obejmuje wyniki, które istnieją w jednej tabeli, ale nie mają odpowiadającego dopasowania w tabeli połączonej.

Dodatkowo możesz wybrać inny typ sprzężenia, w zależności od okoliczności. Te inne typy sprzężeń to:

  • Lewe sprzężenie zewnętrzne (złączenie lewe): Zawiera wszystkie rekordy z lewej tabeli, nawet jeśli w prawej tabeli nie ma pasującego rekordu.
  • Prawe sprzężenie zewnętrzne (right join): Zwraca wszystkie istotne informacje z prawej tabeli, nawet jeśli lewa tabela nie ma dopasowania.
  • Pełne dołączenie: Wybiera wszystkie rekordy z dwóch tabel, niezależnie od tego, czy mają pasujący warunek złączenia.
instagram story viewer