Podzapytanie w języku SQL dla użytkowników usługi LuckyTemplates

W tym samouczku nauczymy się i zrozumiemy, jak możemy wykorzystać podzapytanie w SQL. Podzapytanie to zapytanie w ramach innego zapytania. Możemy to również nazwać zapytaniem zagnieżdżonym w ramach większego zapytania. Musi być ujęty w nawias i najczęściej używany w klauzuli WHERE .

Podzapytanie w języku SQL dla użytkowników usługi LuckyTemplates

Możemy wykorzystać podzapytania w SQL, gdy potrzebujemy przenieść dane z wielu tabel.

Na przykład, powiedzmy, że mamy te 2 tabele. 

Podzapytanie w języku SQL dla użytkowników usługi LuckyTemplates

To jest problem, który musimy rozwiązać. Musimy uzyskać nazwę klienta, identyfikator e-mail i adres klientów, którzy dokonali zakupu w 2022 r. Nie jest to możliwe tylko przy użyciu tabeli Klienci, ponieważ w tej tabeli nie ma rekordu sprzedaży ani kolumny daty zamówienia. Mamy inne sposoby rozwiązania tego problemu.

Podzapytanie w języku SQL dla użytkowników usługi LuckyTemplates

Spis treści

Ręczne pobieranie danych za pomocą wielu pojedynczych zapytań

Po pierwsze, ponieważ mamy CustomerId z tabeli Sales , możemy pobrać identyfikatory klientów osób, które kupiły w 2022 r. z kolumny OrderDate w tabeli Sales

Podzapytanie w języku SQL dla użytkowników usługi LuckyTemplates

Zakładając, że mamy teraz identyfikatory klientów ( 1, 3, 5, 7, 8, 9… ) osób, które kupiły od 2022 r., możemy utworzyć kolejne zapytanie, aby uzyskać informacje o tych klientach za pośrednictwem tabeli Klienci na podstawie ich identyfikator .

Podzapytanie w języku SQL dla użytkowników usługi LuckyTemplates

Problem z tą metodą polega na tym, że wykonaliśmy ten proces ręcznie. Najpierw musimy uzyskać identyfikator klienta i ręcznie wprowadzić go do następnego zapytania, aby uzyskać informacje o klientach. 

Automatyczne pobieranie danych przez podzapytanie w SQL

Zamiast ręcznie wprowadzać ich identyfikatory, możemy to zrobić automatycznie, używając podzapytania w SQL . Możemy go użyć razem z warunkiem IN , aby automatycznie wprowadzić identyfikator klienta lub inne dane, które są nam potrzebne do rozwiązania określonego problemu. 

To jest przykład tego, co możemy zrobić, aby rozwiązać problem. W tym przykładowym zapytaniu wybieramy nazwę, adres i identyfikator e-mail klientów z tabeli Klienci na podstawie ich identyfikatora klienta pochodzącego z zapytania zagnieżdżonego. W tym zagnieżdżonym zapytaniu identyfikator klienta pochodzi z tabeli Sales z datą zamówienia 2022.

Podzapytanie w języku SQL dla użytkowników usługi LuckyTemplates

Dzięki tej technice nie musimy ręcznie wprowadzać identyfikatora klienta osób, które kupiły od roku 2022. Zostanie on automatycznie pobrany z utworzonego przez nas zagnieżdżonego zapytania. 

Przykładowy scenariusz podzapytania za pośrednictwem SQL Server Management Studio

Załóżmy teraz podobny scenariusz i tym razem zróbmy to w SQL Server Management Studio ( SSMS ). W tym przykładzie mamy dwie inne tabele SalesOrderHeader i SalesTerritory

Podzapytanie w języku SQL dla użytkowników usługi LuckyTemplates

Naszym celem jest uzyskanie wszystkich informacji na temat SalesOrderHeader z regionu kraju USA . W SalesOrderHeader nie mamy kolumny regionu kraju. 

Podzapytanie w języku SQL dla użytkowników usługi LuckyTemplates

Możemy jednak użyć kolumny TerritoryID , która jest również dostępna w tabeli SalesTerritory . Tam możemy również uzyskać informacje o regionie kraju, które są w kolumnie CountryRegionCode .

Podzapytanie w języku SQL dla użytkowników usługi LuckyTemplates

Podzapytanie w języku SQL dla użytkowników usługi LuckyTemplates

Ponownie możemy to zrobić ręcznie, pobierając najpierw identyfikator terytorium z tabeli SalesTerritory z regionem kraju w USA

Podzapytanie w języku SQL dla użytkowników usługi LuckyTemplates

Będziemy wtedy mieć listę TerritoryID w regionie kraju USA .

Podzapytanie w języku SQL dla użytkowników usługi LuckyTemplates

Następnie możemy użyć tych identyfikatorów, aby uzyskać pożądany wynik, ręcznie wprowadzając je w naszym zapytaniu.

Podzapytanie w języku SQL dla użytkowników usługi LuckyTemplates

Podzapytanie w języku SQL dla użytkowników usługi LuckyTemplates

Ale zamiast ręcznie wprowadzać identyfikatory, możemy to łatwo zrobić za pomocą podzapytania. Musimy tylko zastąpić go naszym pierwszym zapytaniem, w którym uzyskujemy identyfikator TerritoryID w tabeli SalesTerritory z regionem kraju USA. 

Podzapytanie w języku SQL dla użytkowników usługi LuckyTemplates

Da nam to taki sam wynik jak proces ręczny. 

Podzapytanie w języku SQL dla użytkowników usługi LuckyTemplates

Wniosek

Podsumowując, poznaliśmy zastosowanie i znaczenie podzapytań w SQL. Omówiliśmy również właściwą składnię tworzenia niektórych podzapytań. Z pewnością możemy utworzyć wiele zapytań, aby stworzyć ręczny proces uzyskiwania określonego wyniku. Możemy jednak zamiast tego użyć podzapytania z klauzulą ​​WHERE i warunkiem IN , aby automatycznie pobrać określone dane z innej tabeli.

Mamy nadzieję, że będziesz w stanie użyć tej techniki, aby osiągnąć bardziej efektywne wykorzystanie przyszłych zapytań.

Wszystkiego najlepszego,

Hafiz

Pobieranie i instalacja programu SQL Server
SQL dla użytkowników usługi LuckyTemplates — nowy kurs LuckyTemplates
Wyszukiwanie danych z wielu źródeł danych

Leave a Comment

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.

Funkcje zbierania w Microsoft Power Automate

Funkcje zbierania w Microsoft Power Automate

Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.

Oceń wydajność kodu DAX w DAX Studio

Oceń wydajność kodu DAX w DAX Studio

Z tego samouczka dowiesz się, jak ocenić wydajność kodów DAX przy użyciu opcji Uruchom test porównawczy w DAX Studio.

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.