Örnekler (Transact-SQL) SELECT
Bu konu, kullanım örnekleri sağlar SELECT ekstresi.
C.SELECT, satır ve sütun almak için kullanma
Aşağıdaki örnek, üç kod örneklerini göstermektedir.Bu ilk kod örneği (yok bir WHERE yan tümce belirtilir), tüm satırları ve tüm sütunları verir (kullanarak *) gelen Product ' de tablo AdventureWorks Veritabanı.
Bu örnek (yok bir WHERE yan tümce belirtilir), tüm satırları ve sütunları (yalnızca bir kısmını verir...Name, ProductNumber, ListPrice) gelen Product ' de tablo AdventureWorks Veritabanı. Ayrıca, bir sütun başlığı eklenir.
Bu örnek için yalnızca satırları döndürür. Product bir ürün satırı olan R ve diğer bir deyişle üretmek için gün küçüktür 4.
b.SELECT kullanarak, sütun başlıklarını ve hesaplamalar
Aşağıdaki örnekler, alınan tüm satırların dönmek Product TABLO. Ilk örnek, toplam satışların ve her ürün iskontolarını döndürür.Ikinci örnekte, her ürün için toplam geliri hesaplanır.
Her bir ürünün her bir satış siparişi geliri hesaplar sorgudur.
c.Ile SELECT DISTINCT kullanma
Aşağıdaki örnek kullanır. DISTINCT Yinelenen başlık alınmasını önlemek için .
d.SELECT INTO ile tablo oluşturma
Aşağıdaki örnekte ilk adlı geçici tablo oluşturur. #Bicycles içinde tempdb. Bu tablo kullanmak için , her zaman için kesin adla gösterilir bakın.Bu, numara işareti (içerir#).
Here is the result set.
name
------------------------------
#Bicycles_____________________
Bu ikinci örnek, kalıcı bir tablo oluşturur. NewProducts.
Here is the result set.
name
------------------------------
NewProducts
(1 row(s) affected)
e.Ilişkili alt sorgusu kullanma
Aşağıdaki örnek semantically eşdeğerdir sorguları gösterir ve kullanma arasındaki farkı gösterir EXISTS anahtar sözcük ve IN anahtar sözcük. Her bir alan geçerli bir alt sorgu örnekler örnek ürün modeline bir uzun sleeve amblem jersey olduğu her ürün adının ve ProductModelID arasındaki sayıları eşleşen Product ve ProductModel Tablolar.
Aşağıdaki örnek kullanır. IN ilişkili veya yinelenen, sorguda. Bu dış sorgusu değerlerine bağlı bir sorgudur.Sorguyu art arda gerçekleştirildiğinde, her satır için saat, dış bir sorgu tarafından seçilebilir.Bu sorgu, her çalışan için hangi ad ve soyad bir kopyasını alır, Primin SalesPerson Tablo 5000.00 ve, çalışan kimlik numaraları, eşleşen Employee ve SalesPerson Tablolar.
Bu deyim bir önceki sorguda dış alt sorgu bağımsız olarak değerlendirilemez.Bunun için bir değer gerekir Employee.EmployeeID, ancak bu değer, olarak değiştirir SQL Server Database Engine Farklı satırlardaki inceler. Employee.
bağıntılı alt sorgu da kullanılabilir HAVING Dış bir sorgu yan tümce. Bu örnekte, liste fiyatını en fazla iki kez birden fazla modeli için ortalama olduğu Ürün modelleri bulur.
Bu örnekte, iki ilişkili alt sorgusu belirli bir ürünün satıldığı çalışanların adlarını bulmak için kullanılır.
f.GROUP BY'ı kullanma
Aşağıdaki örnek, her bir satış siparişinin toplam veritabanında bulur.
Nedeniyle GROUP BY yan tümce, her satış siparişi için tüm satış toplamı içeren yalnızca bir satır döndürülür.
g.GROUP BY ile birden çok Grup kullanma
Aşağıdaki örnek KIMLIğI, ortalama fiyat ve toplam satışların yıl, tarih, ürün KIMLIĞINE göre gruplandırılmış ve özel teklif bulur.
h.GROUP BY ve WHERE kullanma
Aşağıdaki örnekte, yalnızca büyük listesi fiyatlarla satırları aldıktan sonra gruplara sonuçlar koyar $1000.
İ.GROUP BY ile ifade kullanma
Aşağıdaki örnek grupları bir ifade tarafından.Ifade, toplamak işlevleri içermemektedir, ifade gruplandırabilirsiniz.
j.GROUP BY ile ORDER BY kullanma
Aşağıdaki örnek, her ürün türü ortalama fiyatını bulur ve ortalama fiyatı ile sonuçlar siparişleri.
k.HAVING kullanarak yan tümce
Programları izleyen ilk örnekte bir HAVING yan tümce içeren bir toplamak işlev. Bu satır grupları SalesOrderDetail Ürün KIMLIĞINE göre tablosu ve ürünler, ortalama sipariş miktarları beş veya daha az ortadan kaldırır. Ikinci örnekte gösterildiği bir HAVING toplamak işlevleri olmadan yan tümce.
Bu sorguyu kullanan LIKE yan tümcesinde HAVING yan tümce.
USE AdventureWorks ;
GO
SELECT SalesOrderID, CarrierTrackingNumber
FROM Sales.SalesOrderDetail
GROUP BY SalesOrderID, CarrierTrackingNumber
HAVING CarrierTrackingNumber LIKE '4BD%'
ORDER BY SalesOrderID ;
GO
l.HAVING ve GROUP BY'ı kullanma
Aşağıdaki örnek, kullanarak gösterir. GROUP BY, HAVING, WHERE, ve ORDER BY bir yan tümcesi SELECT deyim. Bu gruplar üretir ve Özet değerleri ancak fiyatlarını ürünleriyle üzerinde 25 TL kaldırıldıktan sonra bunu yapar ve ortalama sipariş miktarları altında 5.Sonuçlarına göre düzenler... ProductID.
m.HAVING kullanarak TOPLAM ve ortalama
Aşağıdaki örnek grupları SalesOrderDetail Ürün KIMLIĞI ile tablo ve bu gruplara yalnızca toplam alma siparişlerinin ürünlerden birini içeren birden fazla $1000000.00 ve, ortalama sipariş miktarları küçüktür 3.
Toplam satışların büyük olan ürünleri görmek için $2000000.00, bu sorguyu kullanın:
Her ürün için hesaplamaları katılan en az bir bin beş yüz öğelerin bulunduğundan emin olun istiyorsanız kullanın. HAVING COUNT(*) > 1500 toplamları için az veren ürünler ortadan kaldırmak için 1500 Maddeler satıldığında. Sorguyu aşağıdaki gibi görünür:
n.COMPUTE BY'ı kullanarak, Grup toplamlarını hesaplama
Aşağıdaki örnekte iki kod örnekleri, COMPUTE BY kullanımını göstermek için kullanır.Ýlk örnek kod bir kullanır. COMPUTE BY bir toplamak işlev ile ikinci bir kod örneği kullanır COMPUTE BY öğe ve iki toplamak işlevleri.
Bu sorgu, ürünlerinin fiyatlarını siparişlerini toplamını hesaplar küçüktür $5.00, her ürün türü için.
Bu sorgu ürün türü ve birim fiyatlar altında olan ürünler için toplam sipariş alır. $5.00. The COMPUTE BY yan tümce uses two different toplamak functions.
o.Genel bir değer, COMPUTE BY olmadan kullanarak hesaplama
Anahtar sözcüğü COMPUTE BY genel toplamlar, genel sayımları vb. oluşturmak için kullanılır.
Aşağıdaki örnek fiyatların genel toplamın bulur ve ürünleri les ' her tür için doğru ilerler. $2.00.
COMPUTE BY kullanabilirsiniz ve BY aynı sorguda COMPUTE.Aşağıdaki sorgu sipariş miktarları ve satır toplamları ürün türüne göre bulur ve sonra da sipariş miktarları genel toplamı ve satır toplamları hesaplar.
p.Hesaplama, toplamların tüm satırda hesaplanan
Aşağıdaki örnek, seçim listesinde yalnızca üç sütunu gösterir ve tüm sipariş miktarları ve sonuçlar sonunda tüm satır toplamları dayalı olarak Toplamlar'ı verir.
S.Birden fazla COMPUTE yan tümcesinin kullanılması
Aşağıdaki örnek, fiyatları, birim fiyatı küçüktür $ ürün KIMLIĞI ve miktar yanı sıra, ürün KIMLIĞI ile tüm siparişlerin $ 5'ten daha az düzenlenmiş fiyatlarını toplamı düzenlenmiş 5'tir, tüm siparişlerin toplamı bulur.COMPUTE BY birden çok yan tümce ekleyerek, aynı deyiminde farklı toplamak işlevlerini kullanabilirsiniz.
r.GROUP BY COMPUTE ile karşılaştırma
Kullandığı izleyen ilk örnekte COMPUTE Tüm toplamı, bir ürünün birim fiyatını siparişleri hesaplamak için yan tümce ise daha az $5.00, ürün türüne göre. Ikinci örnek, yalnızca aynı özet bilgileri oluşturur GROUP BY.
Ikinci sorguyu kullanan budur. GROUP BY.
s.SELECT, GROUP BY, COMPUTE ve ORDER BY yan tümceleri ile kullanma
Aşağıdaki örnek, yalnızca birim fiyatı küçüktür $ 5; sonra ürün ve genel toplam satırı toplam hesaplar emirlerini verir.Tüm hesaplanan, sütunlar, seçim listesi içinde görünür.
t.INDIS iyileştirici ipucu kullanma
Aşağıdaki örnek kullanmanın iki yolu gösterir INDEX en iyi duruma getiricisi ipucu. Ilk örnek, kümelenmemiş bir dizini tablodan satır almak için kullanılacak en iyi duruma getiricisi zorlaması nasıl gösterir ve ikinci örnek, bir dizini 0'ı kullanarak bir tablo taraması zorlar.
u.OPTION ve GROUP ipuçları'nı kullanma
Aşağıdaki örnekte gösterildiği nasıl OPTION (GROUP) yan tümce ile kullanılan bir GROUP BY yan tümce.
v.UNION sorgusu ipucu kullanma
Aşağıdaki örnek MERGE UNION Sorgu ipucu.
w.Basit bir UNION kullanma
Aşağıdaki örnekte, sonuç küme içeriğini içeren ProductModelID ve Name Her iki sütun ProductModel ve Gloves Tablolar.
x.SELECT INTO, UNION ile kullanma
Aşağıdaki örnekte, INTO ikinci yan tümce SELECT deyim, tablo adı belirtir. ProductResults birleşim küme sütun sonuç kümesi tutar ProductModel ve Gloves Tablolar. Dikkat Gloves Tablo, ilk oluşturulur SELECT deyim.
y.UNION iki SELECT deyimleri, ORDER BY ile kullanma
UNION yan tümcesiyle birlikte kullanılan belirli parametreleri sırası önemlidir.Aşağıdaki örnek, yanlış ve doğru kullanımını gösterir. UNION iki SELECT bir sütun çıkışı yeniden adlandırılması olan ifadeler.
z.Üç SELECT deyimlerinin UNION ALL etkilerini ve parantez göstermek için kullanma
Aşağıdaki örnekleri kullanın UNION tümü aynı 5 veri satırlarının sahip üç tablo sonuçlarını birleştirmek için . Ýlk örnek kullanır. UNION ALL Yinelenmiş göstermek için kaydeder ve tüm 15 satır döndürür. Ikinci örnek kullanır. UNION içermeyen ALL Yinelenen satırları arasında üç birleştirilmiş sonuçlar ortadan kaldırmak için SELECT ifadeler ve 5 döndürür satır.
Üçüncü örnek kullanır. ALL ilk ile UNION ayraç içine alýn, ikinci UNION kullanmıyor ALL. Ikinci UNION parantez içinde olduğundan ve 5 için Satırlar'ı verir çünkü ilk önce işleneceği ALL seçenek kullanılmaz ve bu çoğaltmaların kaldırılır. 5 Bu satırlar, ilk sonuçlar birleştirilir SELECT kullanarak UNION ALL Anahtar Sözcükler. Bu iki 5 Satır kümeleri arasında çoğaltmaları kaldırmaz.Nihai sonuç, 10 satır vardır.
See Also