SQLITE OUTER TOP

SQLITE OUTER TOP
„Lewy połączenie lub lewe zewnętrzne połączenie łączy dwie tabele. Pobiera wpisy w zależności od wymogu spełnionych w obu wymaganych tabelach, z niedopasowanymi wierszami dostępnymi z określonej tabeli utworzonej tuż przed instrukcją połączenia.SQLite wyodrębnia wszystkie istotne dane z lewej tabeli w sytuacji lewego połączenia lub lewego zewnętrznego połączenia. Dopasowuje je również tylko z nazwami pola podane w wymogu prawej tabeli. SQLite zmienia wartość każdej kolumny w kolumnie na null, jeśli lewa tabela nie pasuje. W tym artykule zbadamy więcej o SQLite Outer Join."

Utwórz tabelę

Musimy utworzyć dwie oddzielne tabele i wykonamy różne zapytania.

Więc po utworzeniu bazy danych musimy utworzyć pierwszą tabelę. Wykorzystaliśmy zapytanie „Utwórz”, aby utworzyć tabelę. Tabela utworzona na tym etapie to „Klient.”W zapytaniu„ Utwórz ”definiujemy nazwy kolumn i ich typów danych. Tabela „Klient” ma 6 kolumn (C_ID, Nazwa, City, zakupione_produkt, cena i zakup). Te atrybuty mają typy danych, w tym liczbę całkowitą, tekst.

Utwórz klienta tabeli (
Klucz podstawowy C_ID Integer,
Tekst nazwy,
Tekst miasta,
Zakupiony tekst product,
Cena numeryczna,
Zakup_date numeryczne
);

Zapytanie „Utwórz” jest pomyślnie wykonywane.

Nadszedł czas, aby stworzyć drugi stół. Aby utworzyć tabelę, zastosowaliśmy zapytanie „Utwórz”. „Dostawca” byłby drugą tabelą, która została utworzona w tej fazie. Istnieje sześć różnych wpisów, w tym S_ID, nazwa, miasto, zakup zakupionego, ceny i daty zakupu, w tabeli „dostawca”. Liczba liczb całkowitych, tekstowych i liczbowych to niektóre typy danych dostępne dla tych elementów.

Utwórz dostawca tabeli (
S_ID INTEGER KLUCZ,
Tekst nazwy,
Tekst miasta,
Dostarczany tekst,
Cena numeryczna,
Supply_date Numeric
);

Wyjście pokazuje, że powyższe zapytanie zostało wykonane bez błędów.

Wstaw dane

Następnym krokiem jest dodanie różnych wartości w kolumnach tabeli „Klient."

Wstaw do klienta (C_ID, nazwa, miasto, zakupione_produkt, cena, zakup_date)
Wartości (93, „Shayan”, „Karaczi”, „LED”, „120000”, '18/02/2022 '),
(76, „adeel”, „Islamabad”, „pralka”, „90000”, '04/12/2021 '),
(51, „Nasir”, „Lahore”, „Microwave”, „25000”, '12/01/2022 '),
(37, „Mohsin”, „Karaczi”, „laptop”, „150000”, '23/02/2022 ');

Wynik wskazuje, że zapytanie do dodawania danych do tabeli „klienta” zostało skutecznie zaimplementowane.

Zapytanie wstawki zostanie zastosowane do wstawienia zawartości w tabeli „dostawca”. Dodaliśmy wartości identyfikatorów, nazw, miast, produktów, cen i dat dostaw różnych dostawców w tej tabeli.

Wstaw do dostawcy (S_ID, Nazwa, miasto, dostarczony_produkt, cena, dostawca_date)
Wartości (02, „Rashid”, „Karaczi”, „DSLR Camera”, „160000”, '18/01/2022 '),
(04, „Adeel”, „SargoDha”, „piekarnik”, „80000”, '30/12/2021 '),
(08, „Nabeel”, „Peshawar”, „Microwave”, „30000”, '15/08/2020 '),
(05, „Waleed”, „Swat”, „Generator”, „100000”, '23/02/2022 ');

Dane są z powodzeniem wkładane do tabeli, uruchamiając powyższe zapytanie.

Użyj zapytania Select

Aby pobrać zawartość wszystkich kolumn wymaganej tabeli, musimy użyć zapytania wyboru wraz z symbolem „*”. Ilekroć chcemy uzyskać dane z kilku kolumn z tabeli, podaliśmy nazwy tych kolumn w zapytaniu.

>> Wybierz * od klienta;

Wyjście pokazuje cały rekord czterech różnych klientów.

W tym etapie zastosowaliśmy zapytanie do tabeli „Dostawca”, abyśmy mogli uzyskać dane z tej tabeli. Dodaliśmy symbol * z wybierz termin w zapytaniu, aby pobrać całe dane.

>> Wybierz * od dostawcy;

Uruchamiając wyżej wymienione zapytanie Select, pobieramy wszystkie wartości tabeli „Dostawca."

Użyj lewego połączenia zewnętrznego

Lewy połączenie i zewnętrzne połączenie są prawie działane podobnie. W lewym połączeniu zewnętrznym, tutaj wszystkie wpisy kolumn, które wybieramy z drugiej tabeli, zostałyby włączone do wyjścia zapytania, niezależnie od tego, czy dane spełniają dane wymóg połączenia zewnętrznego. Jeśli druga tabela zawiera wpisy „N”, wyjście zapytania miałoby również wpisy „N”. Z drugiej strony dane z kolumn pierwszej tabeli będą miały wartość „zerową”, czy jakikolwiek element nie spełnił zewnętrznego wymogu połączenia.

W rezultacie wartość zwracania w prawym połączeniu byłaby równa wartości zwrotu w lewym połączeniu. Stąd możemy mieć odpowiednie rzędy obu określonych tabel, a także nie dopasowujące wpisy drugiej tabeli, jak pokazano w poprzednich wynikach.

W tym przykładzie skorzystamy z „lewego połączenia”, aby połączyć dwa tabele „Klient” i „Dostawca”:

WYBIERAĆ
Klient.Nazwa, klient.Cena,
Dostawca.Nazwa, dostawca.Cena
Od dostawcy
Zostawił dołącz do klienta w dostawcy.Miasto = klient.Miasto;

W takim przypadku lewicowe połączenie między tabelami „klienta” i „dostawcy” jest napisane najpierw w zapytaniu, a kryterium łączenia jest pisane tuż po oświadczeniu. Lewa tabela (dostawca) będzie pierwszą tabelą później, z oświadczenia. Prawa tabela (klient) to druga tabela dostarczona dalej po lewej stronie. Zastosowaliśmy warunek przyłączania się do kolumny „miasto” obu tabel.

Zapytanie z powodzeniem uruchamia i zwraca dane, jak pokazano w tabeli.

Użyj połączenia krzyżowego zewnętrznego

Porównując wszystkie wpisy pierwszej tabeli, „Klient” ze wszystkimi wartościami drugiej tabeli „Dostawca”, połączenie krzyżowe zwraca rekordy w tabeli dla wartości przypisanych do tych dwóch połączonych tabel.

Nie będziemy musieli definiować wymogu łączenia za pomocą połączenia krzyżowego, w przeciwieństwie do lewego zewnętrznego połączenia, ponieważ SQLite nie wymagałby tego. Łącząc prawie wszystkie dane z pierwszego rekordu, „Klient” wraz ze wszystkimi wpisami z drugiej tabeli „Dostawca”, zapytanie przyniosłoby rozsądne wyniki.

WYBIERAĆ
Klient.Nazwa,
Dostawca.Nazwa
Od klienta
Połącz krzyżowy dostawca;

W tej sytuacji podaliśmy tylko dwa atrybuty: „Nazwa” i „Cena” zarówno od tabel „Klienta”, jak i „Dostawcy” w zapytaniu Select. W drugiej tabeli „dostawca” jest podawany jako parametr klauzuli połączenia krzyżowego.

Jak widzieliśmy, wynikowy tabela zawiera cztery rzędy; Każdy rząd tabeli „Dostawcy” odpowiada zapisowi w tabeli „Klienta”. Tutaj nie będziemy dostarczyć żadnych wymagań łączenia w klauzuli połączenia krzyżowego, po prostu dwie tabele połączone przy użyciu Cross Join w środku.

Użyj naturalnego lewej strony zewnętrznego

W tabeli bazy danych naturalne lewe połączenie zewnętrzne wykorzystuje wszystkie dopasowane nazwy pola.

W tym scenariuszu będziemy używać klauzuli o naturalnej lewej zewnętrznej kolei, aby spełnić warunek na stole „dostawca”. Oznacza to, że chcemy uzyskać dane kolumn zarówno z tabel „klienta”, jak i „dostawcy”. Nie zapewnimy tutaj kolumny; Zamiast tego stwierdzimy tabelę o nazwie „Dostawca” po użyciu klauzuli łączenia.

Wybierz klienta.Miasto, klient.Data zakupu,
Dostawca.Miasto, dostawca.Supply_date
Od klienta
Zewnętrzny dostawca dołączający;

Poprzednie zapytanie wskazuje wynik zawierający dane (miasto i supply_date) obu kolumn.

Wniosek

W tym artykule omówiliśmy szczegóły zewnętrznego połączenia w zapytaniu SQLite. W tym artykule pokazano wiele rodzajów klauzuli zewnętrznej łączenia i sposobu ich wykorzystania za pomocą kilku przypadków zewnętrznej klauzuli łączenia. Wpisy z lewej tabeli będą utrzymywane przez lewe zewnętrzne połączenie. Zapytanie SQLite analizuje każdy wiersz tabeli, sprawdza, czy wymagane jest spełnienie, i pobiera pasujące pola. Zapewnia zerowe dla wszystkich sprzecznych wierszy.