ALL, DISTINCT, DISTINCTROW, TOP Yüklemleri

ALL, DISTINCT, DISTINCTROW, TOP Yüklemleri

Önemli : Bu makale makine çevisidir. Bkz. yasal uyarı. Bu makalenin İngilizce sürümüne buradan ulaşabilirsiniz.

SQL sorgularıyla seçilen kayıtları belirtir.

Söz dizimi

SEÇİN [TÜM | DISTINCT | DISTINCTROW | [Üst n [yüzde]]]
TABLOSUNDAN

Bu yüklemleri içeren bir SELECT deyimi şu bölümlerden bulunur:

Bölüm

Açıklama

ALL

Yüklemleri birini dahil değil, kabul edilir. Microsoft Access veritabanı altyapısına SQL deyiminde koşulları karşılayan kayıtların tümünü seçer. Aşağıdaki iki örnek eşdeğer ve Çalışanlar tablosundan tüm kayıtları döndürür:

SELECT ALL *
FROM Employees
ORDER BY EmployeeID;
SELECT *
FROM Employees
ORDER BY EmployeeID;

DISTINCT

Seçili alanları yinelenen verileri içeren kayıtları atlar. Sorgu sonuçlarında dahil edilecek değerleri SELECT deyiminde listelenen her alan için benzersiz olması gerekir. Örneğin, Çalışanlar tablosunda listelenen bazı çalışanlar Soyadı aynı olabilir. İki kaydı Soyadı alanına Atakan bulunuyorsa, aşağıdaki SQL deyimi Etikan içeren tek bir kayıt döndürür:

SELECT DISTINCT LastName
FROM Employees;

DISTINCT kullanmazsanız, bu sorgu her iki Etikan kayıtları döndürür.

SELECT yan tümcesi birden fazla alan içeriyorsa, tüm alanlardaki değerlerinin birleşimi, verilen bir kaydın sonuçlara dahil edilecek benzersiz olması gerekir.

DISTINCT kullanan bir sorgu çıktısı güncelleştirilebilir değil ve sonradan diğer kullanıcılar tarafından yapılan değişiklikleri yansıtmak değil.

DISTINCTROW

Tüm yinelenen kayıtlara, yalnızca yinelenen alanlara dayalı verileri atlar. Örneğin, müşteriler ve Siparişler tablolarını MüşteriNo alanında birleştiren bir sorgu oluşturabilirsiniz. Müşteriler tablosu yinelenen MüşteriNo alanlarını içerir, ancak her müşterinin siparişleri birçok olabilir çünkü Siparişler tablosunda yapar. Aşağıdaki SQL deyimini olması en az bir şirketler ancak bu siparişler hakkındaki ayrıntılar olmadan bir listesini elde etmek için DISTINCTROW nasıl kullanabileceğinizi gösterir:

SELECT DISTINCTROW CompanyName
FROM Customers INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
ORDER BY CompanyName;

DISTINCTROW kullanmazsanız, bu sorgu birden fazla siparişi olan her şirket için birden çok satır üretir.

Sorgusunda kullanılan tabloların tümüne değil, ancak bazı alanlar yalnızca seçtiğiniz zaman DISTINCTROW bir etkisi yoktur. Sorgunuzu yalnızca bir tablo içeriyorsa ya da tüm tablolardan alanların çıktısını DISTINCTROW göz ardı edilir.

ÜST n [yüzde]

Belirli bir en üstünde kalan kayıt sayısını veya ORDER BY yan tümcesiyle belirtilen bir aralığın altındaki verir. 1994 sınıfında ilk 25 öğrencinin adlarını istediğinizi varsayalım:

SELECT TOP 25
FirstName, LastName
FROM Students
WHERE GraduationYear = 2003
ORDER BY GradePointAverage DESC;

ORDER BY yan tümcesi içermiyorsa, sorgu Öğrenciler tablosundan WHERE yan tümcesini karşılayan 25 kayıtları rasgele kümesini döndürür.

ÜST karşılaştırma eşit değerler arasından seçim değil. Yukarıdaki örnekte, yirmi beşinci ve yirmi altıncı en yüksek Not ortalamaları aynı olup olmadığını sorgu 26 kayıt verir.

Belirli bir yüzdesini üstündeki veya altındaki ORDER BY yan tümcesiyle belirtilen bir aralığın giren kayıtların dönmek için yüzde ayrılmış sözcüğünü de kullanabilirsiniz. Üst 25 Öğrenciler yerine, alt sınıfında yüzde 10 istediğinizi varsayalım:

SELECT TOP 10 PERCENT
FirstName, LastName
FROM Students
WHERE GraduationYear = 2003
ORDER BY GradePointAverage ASC;

ASC karşılaştırma alt değerleri döndürmek belirtir. ÜST izleyen değer işaretsiz bir tamsayı olması gerekir.

Sorguyu güncelleştirilebilir olup olmadığını başı etkilemez.

tablo

Kayıtların getirildiği tablonun adı.



Not : Makine Çevirisi Yasal Uyarısı: Bu makale, insan müdahalesi olmadan bir bilgisayar sistemi tarafından çevrilmiştir. Microsoft bu makine çevirilerini İngilizce bilmeyen kullanıcıların Microsoft ürünleri, hizmetleri ve teknolojileriyle ilgili içeriklerden yararlanmasına yardımcı olmak için sunar. Bu makale makine çevirisi olduğundan sözcük, cümle dizilimi ve gramer hataları içerebilir.

Yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Office Insider Programına Katılın

Bu bilgi yararlı oldu mu?

Görüşleriniz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×