SELECT Examples (Transact-SQL)

W tym temacie przedstawiono przykłady używania WYBIERZ OPCJĘ instrukcja.

A.Za pomocą SELECT do wierszy i kolumn

W poniższym przykładzie pokazano trzy przykłady kodu.W tym przykładzie pierwsza kod zwraca wszystkie wiersze (klauzula WHERE nie jest określona) i wszystkie kolumny (przy użyciu *) z Product Tabela w AdventureWorks Baza danych.

W tym przykładzie zwraca wszystkie wiersze (klauzula WHERE nie jest określona) i tylko podzbiór (kolumnyName, ProductNumber, ListPrice) z Product Tabela w AdventureWorks Baza danych. Ponadto dodawany jest nagłówkiem kolumna.

W tym przykładzie zwraca tylko wiersze z Product mają linii produktu R i mają dni do wyprodukowania jest mniejsza niż 4.

B.Przy użyciu SELECT z nagłówków kolumn i obliczenia

W poniższych przykładach zwracać wszystkie wiersze z Product Tabela. W pierwszym przykładzie zwraca wartość całkowitą sprzedaż i rabaty dla każdego produktu.W drugim przykładzie łączny przychód jest obliczany dla każdego produktu.

To jest kwerenda, która oblicza przychodu dla każdego produktu w każdym zamówieniu sprzedaży.

C.Przy użyciu SELECT DISTINCT

W poniższym przykładzie użyto DISTINCT Aby uniemożliwić pobieranie zduplikowane tytułów.

D.Tworzenie tabel przy użyciu polecenia SELECT INTO

W następującym przykładzie pierwsza utworzona tabela tymczasowa o nazwie #Bicycles w tempdb. Aby korzystać z tej tabela, zawsze odwołuje się do niego z dokładną nazwą, która jest wyświetlana.Dotyczy to również numer (znak#).

Here is the result set.

name                          
------------------------------
#Bicycles_____________________

W tym przykładzie druga tworzy tabela stałe NewProducts.

Here is the result set.

name                          
------------------------------
NewProducts                   
(1 row(s) affected)

E.Za pomocą podkwerend skorelowanej

W poniższym przykładzie pokazano kwerendy, które są semantycznie równoważne i przedstawia różnicę między przy użyciu EXISTS słowo kluczowe, IN słowo kluczowe. Obie są przykładami prawidłowych podkwerenda pobierającej jedno wystąpienie każdego nazwę produktu, dla którego model produktu jest jersey logo Tuleja długie, oraz ProductModelID numery odpowiadają między Product i ProductModel tabele.

W poniższym przykładzie użyto IN w podkwerendzie skorelowanej lub powtarzane. To jest kwerenda, która zależy od tego, zewnętrznej kwerendy do jego wartości.Kwerenda jest wykonywana wielokrotnie, jeden raz dla każdego wiersza, można wybrać w przypadku zewnętrznej kwerendy.Ta kwerenda pobiera jedno wystąpienie imię i nazwisko każdego pracownika, dla których podwyższenia w SalesPerson Tabela jest 5000.00 i numery identyfikacyjne pracowników odpowiada w Employee i SalesPerson tabele.

Niezależnie od zewnętrznej kwerendy nie może być określona poprzedniego podkwerenda w tej instrukcja.Wymaga, aby wartość w polu Employee.EmployeeID, ale wartość ta zmienia się jako SQL Server Database Engine sprawdza, czy w różnych wierszach w Employee.

Można również użyć skorelowana podkwerenda w HAVING Klauzula kwerendy zewnętrzne. W tym przykładzie znajdzie modeli produktów, dla których maksymalna cena katalogowa jest więcej niż dwa razy średniej dla modelu.

W tym przykładzie użyto dwóch podkwerend skorelowanej do znalezienia nazwiska pracowników, którzy mają sprzedaży konkretnego produktu.

F.Za pomocą GROUP BY

W poniższym przykładzie znajdzie całkowitej każdego zamówienia sprzedaży w bazie danych.

Z powodu GROUP BY Klauzula, tylko jeden wiersz zawierający sumę wszystkich sprzedaży jest zwracana dla każdego zamówienia sprzedaży.

G.Za pomocą GROUP BY z wieloma grupami

W poniższym przykładzie znajdzie średniej ceny i Suma sprzedaży od początku roku, zgrupowane według IDENTYFIKATORA produktu oraz specjalne oferty identyfikatora.

H.Za pomocą GROUP BY i WHERE

W poniższym przykładzie umieszcza wyniki w grupach po pobraniu tylko wiersze z cenami listy jest większy niż $1000.

I.GROUP BY przy użyciu wyrażenie

Następujący przykład grupy za pomocą wyrażenie.Można grupować za pomocą wyrażenia wyrażenie nie zawiera funkcji agregacja.

J.Przy użyciu ORDER BY GROUP BY

W poniższym przykładzie znajduje średnia cena każdego typu produktu i porządkuje wyniki przez średnią cenę.

Wiersze mogą być tak szerokie, czasami dany operator nie może przetworzyć w wierszu.Przy użyciu klauzula HAVING

Pierwszy przykład poniżej pokazuje HAVING Klauzula z funkcja agregująca. Grupy, w wierszach SalesOrderDetail Tabela przez identyfikator produktu i eliminuje produktów, których wielkość zamówienia średniej są pięciu lub mniej. W drugim przykładzie pokazano HAVING Klauzula bez funkcji agregacja.

Ta kwerenda używa LIKE w klauzuli HAVING Klauzula.

USE AdventureWorks ;
GO
SELECT SalesOrderID, CarrierTrackingNumber 
FROM Sales.SalesOrderDetail
GROUP BY SalesOrderID, CarrierTrackingNumber
HAVING CarrierTrackingNumber LIKE '4BD%'
ORDER BY SalesOrderID ;
GO

L.Za pomocą HAVING i GROUP BY

W poniższym przykładzie pokazano, przy użyciu GROUP BY, HAVING, WHERE, a ORDER BY klauzule w jednym SELECT Instrukcja. To umożliwia tworzenie grup i podsumowanie wartości, ale nie jest to po wyeliminowaniu produktów z cenami ponad 25 zł i średniej ilości zamówienia poniżej 5.Organizuje on także wyniki według ProductID.

Podmioty związanych ze schematem.Przy użyciu HAVING Suma i AVG

Następujące grupy przykład SalesOrderDetail Tabela przez identyfikator produktu i zawiera tylko grupy produktów, których zamówienia sumowania więcej niż $1000000.00 i ilości, których średnia zamówienia są mniejsze niż 3.

Aby wyświetlić produkty, które były całkowitej wartości sprzedaży większe niż $2000000.00, należy użyć tej kwerendy:

Aby upewnić się, że co najmniej jednego tysiąca pięćset elementy są zaangażowane w obliczenia dla każdego produktu, należy użyć HAVING COUNT(*) > 1500 Aby wyeliminować produktów, które zwracają sumy dla mniej niż 1500 sprzedane zapasy. Kwerendy wygląda następująco:

Podmioty bazy danych poza granice i wielu serwerów.Obliczanie sumy dla grup przy użyciu COMPUTE BY

W poniższym przykładzie użyto dwa przykłady kodu służącego do wyświetlania użycia COMPUTE BY.W pierwszym przykładzie kodu używa jednego COMPUTE BY z jedną funkcja agregacja, a w drugim przykładzie używa jednego COMPUTE BY element i dwie funkcje agregujące.

Ta kwerenda służy do obliczania sumy zamówienia dla produktów z cenami mniej niż $5.00, dla każdego typu produktu.

Ta kwerenda pobiera typ produktu i kolejność całkowita produktów ceny jednostkowe w obszarze $5.00. The COMPUTE BY klauzula uses two different agregacja functions.

O.Obliczanie sumy wartości za pomocą COMPUTE bez BY

Słowo kluczowe COMPUTE można używać bez BY do generowania sum, sumy liczb i tak dalej.

W poniższym przykładzie znajduje sumę cen i przemieszcza się dla wszystkich typów produktów les niż $2.00.

Można użyć COMPUTE BY i COMPUTE bez BY w tej samej kwerendy.Następująca kwerenda znajduje sumę wielkości zamówień oraz sumy wiersza typu produktu, a następnie oblicza sumę wielkości zamówień oraz sumy wiersza.

STR.Obliczanie obliczone kwoty we wszystkich wierszach

Poniższy przykład pokazuje tylko trzy kolumny na liście select i daje sumy na podstawie wszystkich ilości zamówień i wszystkie sumy wiersza na końcu wyniki.

Q.Używanie więcej niż jednej klauzula COMPUTE

Następujący przykład wyszukuje sumę cen wszystkich zamówień, których cena jednostkowa jest mniejsza niż 5 dolarów zorganizowane według IDENTYFIKATORA produktu oraz ilość zamówienia, a także sumę cen wszystkich zamówień mniej niż 5 dolarów zorganizowane według tylko identyfikator produktu.Można użyć innych funkcji agregujących w tym samym sprawozdaniu przez więcej niż jeden COMPUTE BY klauzula.

R.Porównywanie GROUP BY z COMPUTE

W pierwszym przykładzie poniżej zastosowań COMPUTE Klauzula, aby obliczyć sumę wszystkich zamówień cenę jednostkową produktu, którego jest mniejsza niż $5.00, według typu produktu. W drugim przykładzie daje te same informacje podsumowujące przy użyciu tylko GROUP BY.

Jest to drugą kwerendę, która korzysta z GROUP BY.

Po przerwaniu tabela, widok jest niezdatny do użytku.Przy użyciu GROUP BY, COMPUTE i ORDER BY klauzule SELECT

W przykładzie poniżej następuje zwrócenie tylko zamówień o cenie jednostkowej niższej niż 5 USD, a następnie obliczenie sum wierszy według produktów oraz sumy łącznej.Wszystkie kolumny obliczane są wyświetlone na liście wyboru.

T.Używanie wskazówki optymalizatora INDEX

The INDEX can be obtained from the following dynamic management objects:Liczba określająca, ile razy kontekst wykonania lub kursor został użyty.

U.Używanie wskazówek OPTION i GROUP

W poniższym przykładzie jak OPTION (GROUP) użyto klauzuli GROUP BY Klauzula.

V.Procedura CLR skompilowany

W poniższym przykładzie użyto MERGE UNION Wskazówka dotycząca kwerendy.

W.SELECT przykłady (języka Transact-SQL)

W poniższym przykładzie, zestaw wyników zawiera zawartość ProductModelID i Name kolumny w obu ProductModel i Gloves tabele.

X.W poniższym przykładzie pokazano trzy przykłady kodu.

W przykładzie poniżej klauzula INTO w drugiej instrukcji SELECT stanowi, że baza danych o nazwie ProductResults przechowuje końcowy zestaw wyników sprzężenia wybranych kolumn tabel ProductModel i Gloves.Należy zwrócić uwagę, że tabela Gloves jest tworzona w pierwszej instrukcji SELECT.

Y.Używanie operacji UNION dla dwóch instrukcji SELECT z klauzulą ORDER BY

Przy użyciu SELECT z nagłówków kolumn i obliczeniaW poniższym przykładzie pokazano użycie niepoprawnych i są poprawne UNION w dwóch SELECT instrukcje, w których kolumna ma ulec zmianie w wyniku.

Z.W drugim przykładzie łączny przychód jest obliczany dla każdego produktu.

W następujących przykładach użyto UNION Aby połączyć wyniki trzy tabele mające ten sam 5 wierszy danych. W pierwszym przykładzie UNION ALL Aby pokazać zduplikowane rekordy, a następnie zwraca wszystkie wiersze 15. W drugim przykładzie użyto UNION bez ALL Aby wyeliminować duplikaty wierszy w wynikach Scalonej trzy SELECT instrukcje i zwraca wartość 5 wierszy.

W trzecim przykładzie pierwszy operator UNION jest połączony z opcją ALL, natomiast drugi operator UNION, który nie używa opcji ALL, jest ujęty w nawiasy.Z powodu tych nawiasów druga operacja UNION jest przetwarzana najpierw. Zwraca 5 wierszy, ponieważ nie użyto opcji ALL, w związku z czym powtarzające się wyniki są usuwane.Tych 5 zwróconych wierszy jest łączonych z wynikami pierwszej instrukcji SELECT za pomocą słów kluczowych UNION ALL.Nie powoduje to usunięcia powtarzających się wyników między oboma zestawami 5 wierszy.Wynik końcowy zawiera 10 wierszy.