316 Shares 4290 views

MySQL JOIN: opis, przykład użycia polecenia i zaleceń

Rozwój baz danych zasobów internetowych praktycznie nie różni się od standardowych baz danych opracowanych w MS SQL SERVER. Zwykle dla takich zasobów używany jest język MY SQL, chociaż można go również używać do opracowywania standardowych produktów przeznaczonych do użytku lokalnego. Ale ten artykuł nie dotyczy tego.

Często podczas pracy z bazami danych w każdym języku zadanie polega na dokonaniu wyboru danych dla danych wyjściowych do różnych raportów, wykresów itd. Co do zasady, przy wykonywaniu takich zadań konieczne jest użycie nie jednego, ale kilku tabel, łącząc je w jedno zapytanie, znacznie komplikując jego konstrukcję. Jednocześnie trzeba wziąć pod uwagę, jak dane będą wysyłane, jak tabele będą "ściągane" i jaki wynik będzie najbardziej akceptowalny dla programisty. Aby rozwiązać takie problemy, jednym ze standardowych konstrukcji języka MySQL jest Join.

Pojęcie słowa Join

Języki programowania baz danych, niezależnie od języka, standardowe słowa z angielskojęzycznych słowników są wykorzystywane (dlatego, pod warunkiem że znasz angielski, będzie dużo łatwiejsze do pracy z tabelami). Aby zaimplementować połączenie tabel w próbce, użyto tego samego słowa – Dołącz. W języku programowania bazy danych używany jest mój SQL. Tłumaczenie tego oficjalnego słowa jest dokładnie takie samo jak w samym języku – "zjednoczenie".

Interpretacja struktury MySQL-Join, a którakolwiek z nich, będzie dokładnie taka sama. Jeśli odszyfrowamy cel projektu, a mianowicie schemat jego działania, otrzymamy następującą wartość: konstrukcje umożliwiają zebranie niezbędnych pól z różnych tabel lub zagnieżdżonych zapytań w jedną próbkę.

Rodzaje konstrukcji dla stowarzyszenia

Jeśli programista musi zebrać próbkę z kilku tabel, a następnie zidentyfikować w nich kluczowe pola i jakie dane są potrzebne do raportu, można użyć jednej z podstawowych konstrukcji związku, aby osiągnąć pożądany wynik. Główne konstrukcje (do scalania tabel) wynoszą cztery:

  1. Dołączenie wewnętrzne.
  2. Dołącz do czatu.
  3. Lewe połączenie.
  4. Dołącz do nas.

W zależności od zadania każde z standardowych projektów da różne rezultaty, które pozwolą Ci otrzymywać raporty o różnych parametrach w krótkim czasie.

Tworzenie i populowanie tabel do późniejszego wykorzystania

Przed rozpoczęciem, na przykład, rozważyć mechanizmy pracy z federacjami danych, warto przygotować kilka tabel, z którymi będziemy pracować. Pomoże to również wizualnie pokazać wszystkie zasady operatorów, a ponadto początkujący będą łatwiej poznawać wszystkie podstawy tabel programowania.

Pierwszy stół opisuje niektóre rzeczy, które człowiek stale spotyka przez całe życie.

W drugiej tabeli opisujemy niektóre właściwości obiektów z pierwszej tabeli, dzięki czemu możesz pracować z nimi w przyszłości.

Ogólnie rzecz biorąc, dwie tabele będą wystarczające do pokazania ich pracy na przykładzie. Teraz możesz zacząć rozważyć nasze projekty.

Korzystanie z połączenia wewnętrznego

Używając konstruktu MySQL-Join Ineer, warto wziąć pod uwagę niektóre jego funkcje. Ten projekt pozwala wybrać z obu tabel tylko te rekordy, które są zarówno w pierwszym i drugim tabeli. Jak to działa? W pierwszej tabeli mamy klucz główny – identyfikator, który wskazuje numer seryjny rekordów w tabeli.

Przy tworzeniu drugiej tabeli użyto tego samego klucza jako numeru seryjnego, przykład można zobaczyć na rysunkach. Po wybraniu danych operator Select określi tylko rekordy, których numery sekwencji są takie same, co oznacza, że są one w pierwszym i drugim tabeli.

Korzystając z projektu, musisz zrozumieć, jakie dane potrzebujesz. Najczęstszym błędem, zwłaszcza dla początkującego programisty baz danych, jest irracjonalne i nieprawidłowe użycie projektu Inner Join. Na przykład MySQL Inner Join można rozważyć skrypt, który powróci do nas z wcześniej opisanych i wypełnionych tabel informacji o obiektach i ich właściwościach. Ale może istnieć kilka sposobów wykorzystania struktury. W tym kontekście mój SQL jest bardzo elastycznym językiem. Więc można rozważyć przykłady używania wewnętrznego połączenia MySQL.

Łączenie tabel bez określania żadnych parametrów. W tym przypadku uzyskamy wynik takiego planu:

Jeśli zaznaczymy używając słowa "Używanie" programu Utility, konieczne jest uwzględnienie głównych klawiszy rekordów w tabelach, wynik wyboru zostanie zmieniony radykalnie. W tym przypadku mamy próbkę, która zwróci tylko te wiersze, które mają te same klawisze główne.

Możliwe jest również użycie trzeciego wariantu używania struktury, gdy w zapytaniu pola, na których mają być połączone tabele, powinny być oznaczone słowem "on". W takim przypadku próbka zwróci następujące dane:

Funkcje korzystania z funkcji Dołącz do lewej

Jeśli weźmiemy pod uwagę inny sposób łączenia tabel za pomocą struktury MySQL-Join, można zobaczyć różnicę w danych, które są wyprowadzane. Taki mechanizm jest lewą konstrukcją.

Korzystanie z mechanizmu "Dołącz do lewego" MySQL ma pewne cechy i, podobnie jak Inner, wymaga wyraźnego zrozumienia wyników, które trzeba uzyskać.

W takim przypadku wszystkie rekordy z pierwszej tabeli zostaną wybrane najpierw, a następnie do nich dołączone będą rekordy z drugiej tabeli właściwości. W tym przypadku, jeśli w pierwszej tabeli znajduje się wpis, na przykład "stołek", aw drugiej tabeli nie ma żadnych właściwości, to na lewo zostanie wyświetlona wartość null przed tym rekordem, informująca programistę, że nie ma żadnych znaków dla tego typu obiektów .

Korzystanie z tego projektu pozwoli określić, które pola lub, na przykład, towary w sklepie nie są naraŜone na cenę, okres gwarancji itp.

Lewy przykład

Aby sprawdzić operatora Konstrukcja po lewej stronie w praktyce, używamy wcześniej opisanych tabel. Powiedzmy, że musisz wybrać całą listę produktów znajdujących się w magazynie i sprawdzić, które z nich nie są oznaczone znakami lub właściwościami. W takim przypadku próbka wyświetli wszystkie produkty na ekranie, a dla tych, które nie mają właściwości, zostaną wyświetlone puste wartości.

Używanie Gdzie w konstrukcie Dołącz

Jako parametr łączenie może obejmować nie tylko pola, do których mają zostać połączone tabele, ale może również zawierać operatora klauzuli Where.

Na przykład rozważyć skrypt, który powinien zwracać nam tylko te rekordy, które nie mają funkcji. W tym przypadku w Konstrukcji dołączenia musisz dodać instrukcję warunku i określić, co dokładnie chcesz zwrócić w wyniku.

Kiedy jest używany w MySQL Join – gdzie musisz jasno zrozumieć, że zostaną wyświetlone tylko te rekordy, do których ma zastosowanie określony warunek, a wybór będzie wyglądał następująco:

Takie żądania umożliwiają dokonywanie selekcji na konkretnych danych, które dotyczą stanu wybranego przez programistę. Istnieje kilka takich warunków, ale równocześnie określając parametry wyboru danych z tabel połączonych.

Użyj Join, aby zmienić dane w tabelach

Konstrukcja Dołącz jest w rzeczywistości uniwersalna. Pozwala on nie tylko na wykonywanie różnych próbek, ale również w żądaniach od jednego do kilku tabel, wprowadzić do warunków dodatkowych warunki. Projekt może być również wykorzystywany do innych operacji przetwarzania danych. Zatem przyłączenie może być używane do zmiany danych w tabeli. Zamiast wyjaśnić warunki w tabeli lub w tych przypadkach, jeśli chcesz aktualizować dane w kilku tabelach w tych samych warunkach.

Na przykład rozważ ten problem. Podano trzy tabele, w których są dane. Musisz zmienić dane w obu tabelach przy użyciu pojedynczego zapytania. Aby rozwiązać takie zadania, można użyć komendy Dołącz w poleceniu Aktualizuj. Typ konstrukcyjnego łączenia się zależy, podobnie jak w przypadku pobierania danych, od wyniku, który programista chce uzyskać.

Rozważmy najprostszy przykład. Musisz zaktualizować tę samą kwerendę dla tych samych warunków. Takie zapytania tworzone są w celu optymalizacji pracy z bazą danych. Dlaczego pisać różne zapytania dla każdej z tabel, jeśli można wykonać wszystkie manipulacje danych jednym zapytaniem? Przykładem dołączenia do MySQL Update w tym przypadku będzie:

Budowanie złożonych zapytań

Często podczas pracy z bazą danych trzeba budować zapytania nie tylko z połączenia kilku tabel, ale także z wykorzystaniem podkwerend. Takie zadania są raczej trudne do zrozumienia dla początkującego programisty bazy danych. Trudność polega na tym, że musisz przemyśleć każdy krok, określić, które dane z jakiej tabeli lub zapytania potrzebujesz uzyskać i jak będziesz musiał z nimi pracować w przyszłości.

Aby uzyskać bardziej szczegółowe zrozumienie, można rozważyć przykłady złożonych zapytań (w MySQL Join). Jeśli jesteś początkującym i dopiero zaczynającym pracę z bazami danych, takie szkolenie będzie tylko korzystne. Idealną opcją są MySQL Left Join examples.

Żądanie to zwróci 58 rekordów umów sprzedaży, dla których jest wypełniona lub istnieje salda środków na wybraną datę. W tym przypadku jest to bieżąca data. Ponadto w próbce dodano warunek, że nazwa kontraktu powinna zawierać symbole "123". Informacje wyświetlane na ekranie (dane) będą sortowane – zamawianie według numeru umowy.

Poniższy przykład pokaże szczegóły wszystkich płatności, w których określono numer kontraktu.

Korzystanie z podkwerend

Jak wspomniano wcześniej, podczas pracy z bazami danych można łączyć nie tylko tabele, ale także tabelę z zapytaniem. Ten projekt jest używany przede wszystkim do przyspieszenia kwerendy i zoptymalizowania jej.

Na przykład, jeśli chcesz wybrać tylko dwa pola z tabeli, która zawiera kilkaset pól, a powiedzmy tysiąc rekordów, należy użyć zapytania, które zwróci tylko wymagane pola i połączyć je z główną próbką danych. Jako przykład MySQL Join Select można rozważyć zapytanie tego typu:

Nie są wszystkie sposoby używania standardowych struktur MySQL, ale tylko standardowych. Jak używać konstruktu Join, w którym z jego formularzy decyduje programista, ale warto pamiętać i wziąć pod uwagę, jaki wynik powinien być uzyskany podczas wykonywania zapytania.