Jak uzyskać dane z wielu tabel?
SQL JOIN łączy rekordy z dwóch tabel.
JOIN lokalizuje powiązane wartości kolumn w dwóch tabelach.
Zapytanie może zawierać zero, jedną lub wiele operacji JOIN.
INNER JOIN to to samo, co JOIN; słowo kluczowe INNER jest opcjonalne.
Cztery różne typy JOINów
- (INNER) JOIN: Wybierz rekordy które mają pasujące wartości w obu tabelach.
- FULL (OUTER) JOIN: Wybiera wszystkie rekordy pasujące do lewego lub prawego rekordu tabeli.
- LEFT (OUTER) JOIN: Wybierz rekordy z pierwsza (najbardziej po lewej) tabela z pasującymi rekordami tabeli po prawej stronie.
- PRAWA (ZEWNĘTRZNA) JOIN: Wybierz rekordy z drugiej (najbardziej po prawej) tabeli z pasującymi rekordami tabeli po lewej stronie.
Uwaga: wszystkie słowa kluczowe INNER i OUTER są opcjonalne.
Szczegóły dotyczące różnych JOIN są dostępne na kolejnych stronach samouczka.
SQL Składnia JOIN
Ogólna składnia to
SELECT column-names FROM table-name1 JOIN table-name2 ON column-name1 = column-name2 WHERE condition
Ogólna składnia funkcji INNER to:
SELECT column-names FROM table-name1 INNER JOIN table-name2 ON column-name1 = column-name2 WHERE condition
Uwaga: słowo kluczowe INNER jest opcjonalne: jest to domyślna i najczęściej używana operacja JOIN.
Id
Firs tName
Nazwisko
Miasto
Kraj
Telefon
Identyfikator
Data zamówienia
Numer zamówienia
Identyfikator klienta
TotalAmount
Przykłady SQL JOIN
W tym przykładzie użycie aliasów tabeli dla i Klienta może być przydatne.
OrderNumber | TotalAmount | FirstName | LastName | Miasto | Kraj |
---|---|---|---|---|---|
542378 | 440,00 | Paul | Henriot | Reims | Francja |
542379 | 1863,40 | Karin | Josephs | Münster | Niemcy |
542380 | 1813,00 | Mario | Pontes | Rio de Janeiro | Brazylia |
542381 | 670.80 | Mary | Saveley | Lyon | Francja |
542382 | 3730,00 | Pascale | Cartrain | Charleroi | Belgia |
542383 | 1444.80 | Mario | Pontes | Rio de Janeiro | Brazylia |
542384 | 625,20 | Yang | Wang | Berno | Szwajcaria |
Id
ProductName
Identyfikator dostawcy
Cena jednostkowa
Pakiet
Wycofano
Id
OrderId
ProductId
UnitPrice
Ilość
Id
Data zamówienia
Numer zamówienia
CustomerId
TotalAmount
z nazwami produktów,
ilości i ceny
O, I i P są aliasami tabel . Data to alias kolumny.