Typowe wyrażenia tabel SQL dla użytkowników usługi LuckyTemplates

W tym blogu omówimy niektóre popularne wyrażenia tabelaryczne, znane również jako CTE . Jeśli napotkasz złożone problemy, skorzystaj z tych wyrażeń tabel SQL, które mogą ci pomóc.

Dzięki CTE możesz podzielić dowolne zadanie na małe i łatwe do zarządzania zapytania, aby rozwiązać skomplikowane problemy.

Przyjrzyjmy się teraz, w jaki sposób CTE może usprawnić pracę przy rozwiązywaniu problemów z kodami.

Spis treści

Składnia do tworzenia typowych wyrażeń tabel SQL 

Najpierw musisz wpisać „ WITH ”, a następnie nazwę wyrażenia CTE , a następnie „ AS ”.

Typowe wyrażenia tabel SQL dla użytkowników usługi LuckyTemplates

Następnie możesz podać dowolne zapytania między nawiasami. Zostanie to zapisane w podanej nazwie wyrażenia, które będzie działać jako wirtualna tabela.

Typowe wyrażenia tabel SQL dla użytkowników usługi LuckyTemplates

Następnie dodaj instrukcję SELECT , korzystając z wirtualnej tabeli utworzonej za pomocą ustawionej nazwy wyrażenia .

Typowe wyrażenia tabel SQL dla użytkowników usługi LuckyTemplates

W naszym przykładzie użyjemy „ USACusts ” jako nazwy wyrażenia .

Typowe wyrażenia tabel SQL dla użytkowników usługi LuckyTemplates

W przypadku zapytania użyjemy tego kodu. 

Typowe wyrażenia tabel SQL dla użytkowników usługi LuckyTemplates

To zapytanie utworzy wirtualną tabelę. Wyświetli się łączna lub zagregowana kwota pogrupowana według identyfikatora klienta, w przypadku gdy kraj, do którego należą, to „ USA ”. Dane zostaną wyodrębnione z tabeli Sales.Customers .

Widoczne będą dwie kolumny, które są custid i Agg_Amount . Zwróć uwagę, że tabela USACusts nie jest stołem fizycznym , a jedynie wirtualnym. Oznacza to, że nie będzie widoczny w naszej bazie danych.

Po zapytaniu możemy dodać instrukcję SELECT .

Typowe wyrażenia tabel SQL dla użytkowników usługi LuckyTemplates

Ta instrukcja wybierze wszystkie Agg_Amount , które są większe niż 1000 z tabeli USACusts .

Wiele wspólnych wyrażeń tabel SQL 

Wiele CTE może pomóc w rozwiązywaniu złożonych błędów w kodzie, dzieląc je na mniejsze części. Dodatkowo możesz zdefiniować dowolną liczbę CTE . Poniżej znajduje się przykład wielu CTE .

Typowe wyrażenia tabel SQL dla użytkowników usługi LuckyTemplates

W tym przykładzie mamy pierwszy CTE , którym jest C1 . Stamtąd wybraliśmy ROK(data zamówienia) i utworzyliśmy 2 kolumny, które są rok zamówienia i custid z tabeli Sales.Orders .

Dla drugiego CTE o nazwie C2 wybraliśmy rok zamówienia i zebraliśmy liczbę klientów za pomocą polecenia COUNT . Następnie nazwaliśmy go numcusts z C1 . Warunek WHERE został również dodany w C2 , aby wybrać tylko rok zamówienia większy niż 2015 . Następnie pogrupowaliśmy je według orderyear .

Następnie wybraliśmy orderyear i numcusts z C2 . Następnie dodaliśmy warunek WHERE , aby wybrać tylko liczbę klientów większą niż 500 .

Podsumowując, ten kod służy do wybierania klientów, których rok zamówienia jest większy niż 2015 i wybierania tylko liczby klientów, która jest większa niż 500 na podstawie warunku rok zamówienia .

Używanie wielu CTE do rozwiązywania złożonych kodów

Następnie pokażę więcej przykładów, aby dodatkowo podkreślić użycie CTE w rozwiązywaniu problemów z dużym zestawem danych. Oto kolejny przykład wielu CTE .

Typowe wyrażenia tabel SQL dla użytkowników usługi LuckyTemplates

Pamiętaj, że możesz nazywać CTE tak, jak chcesz, ale na tym blogu używamy C1 , C2 , C3 itd., Aby łatwo zidentyfikować i zrozumieć, w jaki sposób wykorzystujemy je w naszych przykładach.

Wracając do przykładu, utworzyliśmy C1 , aby wybrać z tabeli Sales.SalesOrderDetails tylko sprzedaż, w której ilość zamówienia jest większa niż 5 .

Typowe wyrażenia tabel SQL dla użytkowników usługi LuckyTemplates

Następnie w C2 wykorzystaliśmy dane przechowywane w C1 do przyłączenia produktu na podstawie Product.ID i pogrupowaliśmy je według nazwy produktu (p.Name) i koloru produktu (p.Color) .

Ponieważ zadeklarowaliśmy warunek w C1 , zgrupujemy nazwę produktu i kolor produktu w C2 tylko dla zamówień, w których ilość zamówienia (OrderQty) jest większa niż 5 .

Typowe wyrażenia tabel SQL dla użytkowników usługi LuckyTemplates

Następnie użyjemy polecenia, aby wybrać wszystkie dane z C2 z ilością zamówienia większą niż 1000 .

W celu rozwiązywania problemów możesz po prostu wybrać każdy z utworzonych CTE , aby sprawdzić, czy pokazuje prawidłowe dane. Zapoznaj się z poniższymi przykładami.

Typowe wyrażenia tabel SQL dla użytkowników usługi LuckyTemplates

W przypadku C1 są wyświetlane wszystkie dane z tabeli Sales.SalesOrderDetail z ilością zamówienia większą niż 5 .

Typowe wyrażenia tabel SQL dla użytkowników usługi LuckyTemplates

Następnie C2 pokazuje dane wyjściowe ilości zamówienia, które są pogrupowane według nazwy produktu i koloru z C1 . W C2 możemy zobaczyć kolumnę orderqty , ale tak naprawdę nie mamy jej w C2 , ponieważ jest to tylko kolumna obliczeniowa, którą wygenerowaliśmy z C1 . Stąd możemy zacząć używać dowolnego warunku w kolumnie orderqty i przeprowadzić rozwiązywanie problemów.

Teraz możesz zobaczyć, jak wiele CTE może nam pomóc w rozwiązywaniu błędów w złożonych kodach, przechowując je w CTE i rozpoczynając rozwiązywanie problemów bez uszkadzania rzeczywistego kodu.

Używanie CTE z instrukcją przypadku

Weźmy inny przykład z tym samym kontekstem, aby pokazać, jak możemy wykorzystać wiele CTE do rozwiązywania problemów ze złożonymi kodami. 

W tym przypadku użyjemy instrukcji CASE , która utworzy kolumnę Product Category z wynikami opartymi na zagregowanej ilości orderqty z C2 .

Typowe wyrażenia tabel SQL dla użytkowników usługi LuckyTemplates

Jak wspomniano wcześniej, nie mieliśmy zamówienia w pierwszym CTE ani kategorii produktu , ale wykorzystaliśmy tabele pośrednie do obliczenia i wykonania różnych obliczeń.

W następnym przykładzie utworzymy zagregowaną kwotę na podstawie kategorii produktów utworzonej w poprzednim przykładzie. Ale aby to zrobić, umieścimy instrukcję CASE dla kategorii produktów w trzecim CTE , którym jest C3 .

Typowe wyrażenia tabel SQL dla użytkowników usługi LuckyTemplates

Zanim przejdziemy dalej, sprawdźmy wyjście C3 , dodając „ SELECT * FROM C3 ” poniżej C3 .

Typowe wyrażenia tabel SQL dla użytkowników usługi LuckyTemplates

W C3 możemy zobaczyć kolumny ProductName , Color , orderqty i Product Category . Od tego momentu możemy rozpocząć agregację na podstawie kategorii produktów . Zróbmy to za pomocą następującego polecenia poniżej C3 .

Typowe wyrażenia tabel SQL dla użytkowników usługi LuckyTemplates

Poniższy przykład to wynik po utworzeniu zagregowanej kwoty za pomocą powyższego polecenia.

Typowe wyrażenia tabel SQL dla użytkowników usługi LuckyTemplates

Początkowo nie mieliśmy kolumn Product Category i orderqty , ale jesteśmy w stanie wygenerować przykładowe dane wyjściowe na podstawie tych kolumn, wykorzystując wiele CTE .

W tym momencie widać, że z pomocą CTE możemy zrobić wszystko w bardziej efektywnej pracy z naszymi kodami.

SQL Temp Tables and Views for LuckyTemplates
Filtr użytkownika w SQL przy użyciu IN, NOT IN, LIKE i NOT LIKE
Wyodrębnianie danych SQL przy użyciu OFFSET i FETCH

Wniosek

W tym samouczku nauczyłeś się prawidłowej składni podczas tworzenia typowych wyrażeń tabel SQL oraz nauczyłeś się wykorzystywać wiele CTE w rozwiązywaniu problemów ze złożonymi kodami, izolując małe części danych i przechowując je w danym CTE .

Ucząc się tego, masz teraz możliwość wydajniejszego debugowania kodu. Pamiętaj, że możesz użyć dowolnej nazwy dla CTE i nie możesz używać ani wywoływać żadnego CTE , dopóki nie zostanie utworzone. Po zapoznaniu się z CTE możesz uważać się za średniozaawansowanego użytkownika SQL .

Jeśli chcesz dowiedzieć się więcej na ten temat i inne powiązane treści, z pewnością możesz sprawdzić listę odpowiednich linków poniżej.

Wszystkiego najlepszego,

Hafiz

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.