Samouczek MySQL

Strona główna MySQL Wprowadzenie do MySQL RDBMS MySQL

SQL MySQL

SQL MySQL WYBIERZ MySQL MySQL GDZIE MySQL I, LUB, NIE MySQL ZAMÓW PRZEZ INSERT INTO w MySQL Wartości NULL MySQL AKTUALIZACJA MySQL USUŃ MYSQL LIMIT MySQL MIN i MAX w MySQL LICZBA, ŚREDNIA, SUMA MYSQL PODOBNE do MySQL Symbole wieloznaczne MySQL MySQL IN MySQL POMIĘDZY Aliasy MySQL Połączenia MySQL WEWNĘTRZNE DOŁĄCZENIE do MySQL DOŁĄCZ DO MYSQL W LEWO DOŁĄCZ DO MYSQL DOŁĄCZ DO MYSQL Samo dołączanie do MySQL UNIA MySQL MySQL GRUPA WG MySQL POSIADAJĄCY MySQL ISTNIEJE MySQL WSZYSTKO, WSZYSTKO MySQL WSTAWIĆ WYBIERZ PRZYPADEK MySQL Funkcje zerowe MySQL Komentarze MySQL Operatory MySQL

Baza danych MySQL

Tworzenie bazy danych MySQL Upuść bazę danych MySQL Utwórz tabelę MySQL Tabela upuszczania MySQL Zmień tabelę MySQL Ograniczenia MySQL MySQL nie jest pusty Unikalny MySQL Klucz podstawowy MySQL Klucz obcy MySQL Kontrola MySQL Domyślny MySQL Indeks tworzenia MySQL Automatyczny przyrost MySQL Daty MySQL Widoki MySQL

Referencje MySQL

Typy danych MySQL Funkcje MySQL

Przykłady MySQL

Przykłady MySQL Quiz MySQL Ćwiczenia MySQL

Połączenia MySQL


Tabele łączenia MySQL

Klauzula JOINsłuży do łączenia wierszy z co najmniej dwóch tabel na podstawie powiązanej między nimi kolumny.

Spójrzmy na wybór z tabeli „Zamówienia”:

OrderID CustomerID OrderDate
10308 2 1996-09-18
10309 37 1996-09-19
10310 77 1996-09-20

Następnie spójrz na wybór z tabeli „Klienci”:

CustomerID CustomerName ContactName Country
1 Alfreds Futterkiste Maria Anders Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Mexico
3 Antonio Moreno Taquería Antonio Moreno Mexico

Zwróć uwagę, że kolumna „CustomerID” w tabeli „Orders” odnosi się do „CustomerID” w tabeli „Customers”. Relacja między dwiema powyższymi tabelami to kolumna „CustomerID”.

Następnie możemy utworzyć następującą instrukcję SQL (zawierającą INNER JOIN), która wybiera rekordy, które mają pasujące wartości w obu tabelach:

Przykład

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;

i wyprodukuje coś takiego:

OrderID CustomerName OrderDate
10308 Ana Trujillo Emparedados y helados 9/18/1996
10365 Antonio Moreno Taquería 11/27/1996
10383 Around the Horn 12/16/1996
10355 Around the Horn 11/15/1996
10278 Berglunds snabbköp 8/12/1996

Obsługiwane typy złączeń w MySQL

  • INNER JOIN: Zwraca rekordy, które mają pasujące wartości w obu tabelach
  • LEFT JOIN: Zwraca wszystkie rekordy z lewej tabeli i dopasowane rekordy z prawej tabeli
  • RIGHT JOIN: Zwraca wszystkie rekordy z prawej tabeli i dopasowane rekordy z lewej tabeli
  • CROSS JOIN: Zwraca wszystkie rekordy z obu tabel

WEWNĘTRZNE DOŁĄCZENIE do MySQL  DOŁĄCZ DO MYSQL W LEWO  DOŁĄCZ DO MYSQL  DOŁĄCZ DO MYSQL


Sprawdź się za pomocą ćwiczeń

Ćwiczenie:

Wstaw brakujące części w JOINklauzuli, aby połączyć dwie tabele Ordersi Customers, używając CustomerIDpola w obu tabelach jako relacji między dwiema tabelami.

SELECT *
FROM Orders
LEFT JOIN Customers
=
;