INNER JOIN – łączenie na podstawie wspólnych wartości między tabelami
INNER JOIN
to jedno z najczęściej używanych łączeń w SQL. Używamy go, aby połączyć dane z dwóch tabel i wyświetlić tylko te rekordy, które mają wspólne wartości w obu tabelach. Oznacza to, że INNER JOIN
zwraca tylko te wiersze, które mają dopasowanie w obu tabelach. Dzięki temu możemy pracować z powiązanymi danymi i uzyskać pełniejszy obraz informacji przechowywanych w bazie danych.
Jak działa INNER JOIN
INNER JOIN
działa, łącząc wiersze z dwóch tabel na podstawie wspólnych wartości w określonych kolumnach. Najczęściej łączenie opiera się na kluczu głównym (PRIMARY KEY
) w jednej tabeli i kluczu obcym (FOREIGN KEY
) w drugiej tabeli. Aby połączyć dane, musimy wskazać kolumny, które mają odpowiadające sobie wartości.
Podstawowa składnia:
SELECT kolumny
FROM tabela1
INNER JOIN tabela2
ON tabela1.wspolna_kolumna = tabela2.wspolna_kolumna;
tabela1
itabela2
to nazwy tabel, które chcemy połączyć.wspólna_kolumna
to kolumna, która występuje w obu tabelach i na podstawie której następuje połączenie.
Przykład INNER JOIN
Załóżmy, że mamy dwie tabele: Uczniowie
i Klasy
. Tabela Uczniowie
zawiera informacje o uczniach, w tym identyfikator klasy (klasa_id
). Tabela Klasy
zawiera szczegóły dotyczące każdej klasy, takie jak jej identyfikator (id
) i nazwę.
Przykład: Wyświetl listę uczniów wraz z nazwą klasy, do której należą.
SELECT Uczniowie.imie, Uczniowie.nazwisko, Klasy.nazwa
FROM Uczniowie
INNER JOIN Klasy
ON Uczniowie.klasa_id = Klasy.id;
W tym przykładzie INNER JOIN
łączy tabelę Uczniowie
z tabelą Klasy
na podstawie kolumny klasa_id
w tabeli Uczniowie
i kolumny id
w tabeli Klasy
. Dzięki temu otrzymujemy listę uczniów wraz z informacją o nazwie klasy, do której należą.
Kiedy używać INNER JOIN
INNER JOIN
używamy, gdy chcemy zobaczyć tylko te rekordy, które mają dopasowanie w obu tabelach. Jest idealny, gdy zależy nam na danych, które są kompletne po obu stronach. Na przykład, jeśli chcemy sprawdzić, którzy uczniowie są przypisani do istniejących klas, INNER JOIN
będzie najlepszym rozwiązaniem.
Testy przypięte do lekcji | |
---|---|
Aby uzyskać dostęp do testów i ćwiczeń interaktywnych - Zaloguj się |