Microsoft hesabıyla oturum açın
Oturum açın veya hesap oluşturun.
Merhaba,
Farklı bir hesap seçin.
Birden çok hesabınız var
Oturum açmak istediğiniz hesabı seçin.
ALL, DISTINCT, DISTINCTROW, TOP Yüklemleri

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

Söz dizimi

SELECT [ALL | DISTINCT | DISTINCTROW | [TOP n [YÜZDE]]]
FROM tablosu

Bu koşulları içeren bir SELECT deyimi aşağıdaki bölümlere sahiptir:

Bölüm

Açıklama

ALL

Koşullardan birini eklemezseniz varsayılır. Microsoft Access veritabanı altyapısı, SQL deyimindeki koşulları karşılayan tüm kayıtları seçer. Aşağıdaki iki örnek eşdeğerdir ve Çalışanlar tablosundaki tüm kayıtları döndürür:

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

DISTINCT

Seçili alanlarda yinelenen veriler içeren kayıtları atlar. Sorgunun sonuçlarına dahil olmak için SELECT deyiminde listelenen her alanın değerleri benzersiz olmalıdır. Örneğin, Çalışanlar tablosunda listelenen birkaç çalışan aynı soyadına sahip olabilir. LastName alanında iki kayıt Smith içeriyorsa, aşağıdaki SQL deyimi Smith içeren yalnızca bir kayıt döndürür:

SELECT DISTINCT LastName
FROM Employees;

DISTINCT değerini atlarsanız, bu sorgu her iki Smith kaydını da döndürür.

SELECT yan tümcesi birden fazla alan içeriyorsa, belirli bir kaydın sonuçlara dahil edilmesi için tüm alanlardaki değerlerin birleşimi benzersiz olmalıdır.

DISTINCT kullanan bir sorgunun çıktısı güncelleştirilemez ve diğer kullanıcılar tarafından yapılan sonraki değişiklikleri yansıtmaz.

DISTINCTROW

Yalnızca yinelenen alanları değil, yinelenen kayıtların tamamını temel alan verileri atlar. Örneğin, CustomerID alanında Müşteriler ve Siparişler tablolarını birleştiren bir sorgu oluşturabilirsiniz. Müşteriler tablosunda yinelenen CustomerID alanı yoktur, ancak Siparişler tablosunda her müşterinin birden çok siparişi olabileceğinden vardır. Aşağıdaki SQL deyiminde distinctrow kullanarak en az bir siparişi olan ancak bu siparişlerle ilgili hiçbir ayrıntı içermeyen şirketlerin listesini nasıl oluşturabileceğiniz gösterilmektedir:

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

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

DISTINCTROW yalnızca sorguda kullanılan tabloların bazılarından alan seçtiğinizde ancak tümünü seçmediğinizde etkili olur. Sorgunuz yalnızca bir tablo içeriyorsa veya tüm tablolardan alan çıktısı alıyorsanız DISTINCTROW yoksayılır.

TOP n [YÜZDE]

ORDER BY yan tümcesi tarafından belirtilen aralığın en üstüne veya altına düşen belirli sayıda kayıt döndürür. 1994 sınıfından en iyi 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ümcesini eklemezseniz sorgu, Öğrenciler tablosundan WHERE yan tümcesini karşılayan rastgele bir 25 kayıt kümesi döndürür.

TOP koşulu eşit değerler arasında seçim yapmaz. Yukarıdaki örnekte, yirmi beşinci ve yirmi altıncı en yüksek not ortalamaları aynıysa, sorgu 26 kayıt döndürür.

ORDER BY yan tümcesi tarafından belirtilen aralığın en üstüne veya altına düşen kayıtların belirli bir yüzdesini döndürmek için PERCENT ayrılmış sözcüğünü de kullanabilirsiniz. İlk 25 öğrenci yerine sınıfın en alt yüzde 10'unu istediğinizi varsayalım:

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

ASC koşulu, alt değerlerin bir dönüşünü belirtir. TOP'un ardından gelen değer işaretsiz bir Tamsayı olmalıdır.

TOP, sorgunun güncelleştirilebilir olup olmadığını etkilemez.

tablo

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



Daha fazla yardıma mı ihtiyacınız var?

Daha fazla seçenek mi istiyorsunuz?

Abonelik avantajlarını keşfedin, eğitim kurslarına göz atın, cihazınızın güvenliğini nasıl sağlayacağınızı öğrenin ve daha fazlasını yapın.

Topluluklar, soru sormanıza ve soruları yanıtlamanıza, geri bildirimde bulunmanıza ve zengin bilgiye sahip uzmanlardan bilgi almanıza yardımcı olur.

Bu bilgi yararlı oldu mu?

Dil kalitesinden ne kadar memnunsunuz?
Deneyiminizi ne etkiledi?
Gönder’e bastığınızda, geri bildiriminiz Microsoft ürün ve hizmetlerini geliştirmek için kullanılır. BT yöneticiniz bu verileri toplayabilecek. Gizlilik Bildirimi.

Geri bildiriminiz için teşekkürler!

×