Narzędzia
Portfolio Roadmapa Słownik Blog Portal dla BA
← Słownik
SQL

INNER JOIN

INNER JOIN to złączenie SQL zwracające wyłącznie te wiersze, które mają dopasowanie w OBU łączonych tabelach.

INNER JOIN to złączenie SQL zwracające wyłącznie te wiersze, które mają dopasowanie w OBU łączonych tabelach. Wiersz bez pary po drugiej stronie - znika z wyniku. To domyślny typ złączenia: samo słowo JOIN bez przedrostka oznacza właśnie INNER.

Analityk używa go codziennie przy raportach i analizach, bo dane w relacyjnych bazach są porozrzucane po tabelach: wizyty osobno, pacjenci osobno, lekarze osobno. INNER JOIN skleja je tam, gdzie interesują nas tylko kompletne pary.

Przykład z bazy MediFlow:

SELECT w.data, w.godzina, p.imie, p.nazwisko
FROM wizyty w
INNER JOIN pacjenci p ON w.pacjent_id = p.id
WHERE w.data >= '2026-06-01';

Dostajemy czerwcowe wizyty z danymi pacjentów - ale tylko te wizyty, które mają poprawnie przypisanego pacjenta. Wizyta z pustym lub błędnym pacjent_id (a w 12-letnim HIS-ie takie były) po cichu wypada z wyniku. Czasem o to chodzi. Czasem właśnie te sieroty są najciekawsze, bo pokazują problem z jakością danych.

Częsta pomyłka: użycie INNER JOIN tam, gdzie potrzebny LEFT JOIN. Raport „pacjenci i liczba ich wizyt" zrobiony INNER-em zgubi wszystkich pacjentów bez ani jednej wizyty - i nikt nie zauważy, że z analizy zniknęła jedna piąta bazy, bo zapytanie nie zgłosi żadnego błędu. Zwróci po prostu mniej wierszy. Zanim wybierzesz typ złączenia, zadaj sobie jedno pytanie: czy wiersze bez pary mają zostać w wyniku? Jeśli tak - LEFT. Jeśli nie - INNER. Świadomie, nie z rozpędu.

Rozwijaj się z Analify

Nowe pojęcia, artykuły i materiały - prosto na email. Bez spamu.

Dołącz do społeczności analityków biznesowych - szkolenia wideo, prelekcje na żywo i wsparcie ekspertów

Sprawdź Analify