Bu, Access SQL ile ilgili bir dizi makaleden biridir. Bu makalede SELECT yan tümcesinin nasıl yazılacağı açıklanmış ve örnekler kullanılarak bunları yazarken kullanabileceğiniz çeşitli teknikler gösterilmiştir.
Access SQL’e genel bakış için bkz. Access SQL: Temel kavramlar, sözlük ve söz dizimi.
Bu makalede
Alanları seçme: SELECT yan tümcesi
SELECT deyimi genellikle SELECT yan tümcesiyle başlar. SELECT yan tümcesini, sorguda kullanmak istediğiniz verileri içeren alanların adlarını belirtmek için kullanırsınız. Alanların yerine veya alanlara ek olarak ifadeleri de kullanabilirsiniz. Alan olarak başka bir SELECT deyimi bile kullanabilirsiniz; bu, alt sorgu olarak adlandırılır.
Müşterilerinizin telefon numaralarını öğrenmek istediğinizi varsayalım. Müşteri telefon numaralarının depolandığı alanın txtCustPhone olarak adlandırıldığını varsayarsak, SELECT yan tümcesi şöyle görünür:
SELECT [txtCustomerPhone]
Adı köşeli ayraç içine alabilirsiniz. Ad herhangi bir boşluk veya özel karakter (noktalama işaretleri gibi) içermiyorsa, köşeli ayraçlar isteğe bağlıdır. Adın boşluk veya özel karakterler içermesi durumunda ayraç kullanmalısınız.
İpucu: Boşluk içeren adlar daha kolay okunabilir ve formlarla raporları tasarlarken zamandan tasarruf etmenizi sağlayabilir, ancak SQL deyimleri yazarken daha fazla şey yazmanıza da neden olabilir. Access veritabanınızdaki nesneleri adlandırırken bu durumu göz önünde bulundurmalısınız.
SQL deyiminizin aynı adlı iki veya daha fazla alanı varsa, her alanın veri kaynağının adını SELECT yan tümcesindeki alan adına eklemeniz gerekir. FROM yan tümcesinde kullandığınız veri kaynağı için aynı adı kullanabilirsiniz.
Tüm alanları seçme
Veri kaynağındaki tüm alanları dahil etmek istediğinizde, SELECT yan tümcesinde alanların hepsini tek tek listeleyebilir veya yıldız joker karakterini (*) kullanabilirsiniz. Yıldız kullandığınızda, Access sorgu çalıştırıldığında veri kaynağında hangi alanların bulunduğunu saptar ve bu alanların hepsini sorguya ekler. Bu yöntem, veri kaynağına yeni alanlar eklenmesi durumunda sorgunun güncelliğini korumasına yardımcı olur.
SQL deyiminde bir veya birden çok veri kaynağı için yıldız kullanabilirsiniz. Yıldız kullanırsanız ve birden çok veri kaynağı varsa, Access'in hangi veri kaynağının tüm alanlarını ekleyeceğini saptayabilmesi için yıldızla birlikte veri kaynağı adını da eklemeniz gerekir.
Örneğin, Siparişler tablosundan tüm alanları ama Kişiler tablosundan yalnızca e-posta adresini seçmek istediğinizi varsayalım. SELECT yan tümceniz şuna benzer olabilir:
SELECT Orders.*, Contacts.[E-mail Address]
Not: Yıldız kullandığınızda veri kaynağını izleyin. Veri kaynağına yeni alanlar eklenirse ve siz bunları almayı planlamadıysanız, sorgu sonuçlarınız istediğiniz gibi olmayabilir.
Ayrı değerler seçme
Deyiminizin yedekli veriler seçeceğini biliyorsanız ve bunun yerine yalnızca ayrı değerleri görmek istiyorsanız, SELECT yan tümcenizde DISTINCT anahtar sözcüğünü kullanabilirsiniz. Örneğin, müşterilerinizden her birinin bazı farklı ilgi alanlarını temsil ettiğini, bunlardan bazılarının da aynı telefon numarasını kullandığını varsayalım. Her telefon numarasını tek bir kez görmek istiyorsanız, SELECT yan tümceniz aşağıdaki gibi görünür:
SELECT DISTINCT [txtCustomerPhone]
Alanlar veya ifadeler yerine başka adlar kullanma: AS anahtar sözcüğü
SELECT yan tümcesinde AS anahtar sözcüğü ve bir alan diğer adı kullanarak, veri sayfası görünümünde herhangi bir alan için görüntülenen etiketi değiştirebilirsiniz. Alan diğer adı, sorguda sonuçların kolay okunması için bir alana atadığınız addır. Örneğin txtCustPhone adlı bir alandaki verileri seçmek istiyorsanız ve bu alan müşteri telefon numaralarını içeriyorsa, SELECT deyiminde aşağıdaki gibi bir alan diğer adı kullanarak sonuçlarınızın daha rahat okunmasını sağlayabilirsiniz:
SELECT [txtCustPhone] AS [Customer Phone]
Not: SELECT yan tümcesinde ifade kullandığınızda, alan diğer adı kullanmanız gerekir.
İfade kullanarak seçme
Bazen, verilerinizi temel alan hesaplamalara bakmak veya bir alanın verilerinin yalnızca bir bölümünü almak istersiniz. Örneğin, veritabanınızdaki DoğumTarihi alanında yer alan veriler temelinde müşterilerin doğum yılını döndürmek istediğinizi varsayalım. SELECT yan tümceniz aşağıdakine benzer olabilir:
SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]
Bu ifade DatePart işlevinden ve iki bağımsız değişkenden ("yyyy" (sabit), ve [DoğumTarihi] (tanımlayıcı)) oluşur.
Herhangi bir geçerli ifade tek giriş değeri verildiğinde tek değer çıkarıyorsa, bir alan olarak kullanılabilir.