Logo Platforma Edukacyjna - kursy do matury i egzaminów z informatyki

JOIN: łączenie dwóch tabel

Dane o jednej rzeczy często leżą w kilku tabelach. Uczeń ma u siebie tylko numer klasy, a jej nazwa stoi w tabeli klasy. JOIN skleja wiersze z dwóch tabel w pary.

Najpierw teoria

Po co łączyć tabele?

Jedna rzecz, dwie tabele. Uczeń ma u siebie tylko numer klasy, a nazwa klasy leży w tabeli klasy.

Złączenie dobiera pary: wiersz z jednej tabeli i pasujący wiersz z drugiej. Każda para to jeden wiersz wyniku.

ON mówi, kiedy wiersze pasują: zwykle numer w jednej tabeli równa się id w drugiej.

uczniowie JOIN klasy

Zielona część wspólna to pary, czyli wiersze z obu tabel, które spełniają ON u.klasa_id = k.id.

Ola3aFilip3aSzymon3b

Po ON piszesz, która kolumna ma pasować do której. Tu numer klasy ucznia do id klasy. Klasy bez uczniów zostają bez pary i odpadają.

To zapytanie możesz zmienić: kliknij w nie, wpisz swoje i naciśnij Enter. Uczniowie odegrają Twoją wersję.

FROM uczniowie: 6 wierszy w szeregu. Każdy wiersz to jedna postać, a kartki pod nią to kolumny.

1/5
imienazwiskoklasa_id
OlaMazur1
MajaKaczmarek1
FilipGrabowski1
SzymonMichalski2
LenaKról2
AntoniWieczorek2

Aliasy tabel skracają zapis: u zamiast uczniowie, k zamiast klasy. Po złączeniu działa zwykłe WHERE.

FROM uczniowie AS u: 6 wierszy w szeregu. Każdy wiersz to jedna postać, a kartki pod nią to kolumny.

1/6
imienazwiskoklasa_id
OlaMazur1
MajaKaczmarek1
FilipGrabowski1
SzymonMichalski2
LenaKról2
AntoniWieczorek2

Wychowawcę każdej klasy znajdziesz, łącząc klasy z nauczycielami.

FROM klasy AS k: 4 wiersze w szeregu. Każdy wiersz to jedna postać, a kartki pod nią to kolumny.

1/5
nazwawychowawca_id
3a1
3b3
2a2
2bNULL

Gdy kolumna o tej samej nazwie jest w obu tabelach, musisz napisać, z której ją bierzesz.

FROM uczniowie AS u: 6 wierszy w szeregu. Każdy wiersz to jedna postać, a kartki pod nią to kolumny.

1/2
idimienazwiskoklasa_id
1OlaMazur1
3MajaKaczmarek1
4FilipGrabowski1
6SzymonMichalski2
7LenaKról2
8AntoniWieczorek2