Sorgularınız yeterince sıkı çalışmıyorsa, bazı temel SQL deyimleri eklemek sonuçlarınıza odaklanmanıza yardımcı olabilir. Şimdi istediğiniz sonuçları elde etmek için düzenleyebileceğiniz birkaç tür SQL deyimine ve yan tümcelere veya bölümlere göz atalım.
Not: Bu makale Access web uygulamaları (Access ile tasarladığınız ve çevrimiçi yayımladığınız veritabanları) için geçerli değildir.
Bu makalede
Select deyimi oluşturma
SQL select deyiminin iki ile üç yan tümcesi vardır. SELECT yan tümcesi veritabanına verileri nerede arayacağı söyler ve belirli bir sonuç döndürmesini ister.
Not: SELECT deyimleri her zaman noktalı virgülle (son yan tümcenin sonunda ;) veya SQL deyiminin sonunda tek başına bir satırda) biter.
Aşağıdaki select deyimi Access'ten, Özellikle Şehir sütununda "Seattle"ı bulduğu Kişiler tablosundan E-posta Adresi ve Şirket sütunlarından bilgi almasını ister.
Yukarıdaki sorgunun SELECT, FROM ve WHERE üç yan tümcesi vardır.
1. SELECT yan tümcesi, kullanmak istediğiniz verileri içeren sütunları listeler ve bir işleci (SELECT) ve ardından iki tanımlayıcı (E-posta Adresi ve Şirket) vardır. Tanımlayıcıda boşluk veya özel karakterler ("E-posta Adresi" gibi) varsa, tanımlayıcıyı köşeli ayraç içine alın.
2. FROM yan tümcesi kaynak tabloyu tanımlar. Bu örnekte, bir işleci (FROM) ve ardından bir tanımlayıcı (Kişiler) vardır.
3. WHERE yan tümcesi isteğe bağlı bir yan tümcedir. Örnekte bir işleç (WHERE) ve ardından bir ifade (City="Seattle") vardır.
Seçme sorguları hakkında daha fazla bilgi için bkz . Basit bir seçme sorgusu oluşturma.
Yaygın SQL yan tümcelerinin listesi aşağıdadır:
SQL yan tümcesi |
Yaptığı işlem |
Gerekli mi ? |
SELECT |
İlgilenen verileri içeren alanları listeler. |
Evet |
FROM |
SELECT yan tümcesinde listelenen alanları içeren tabloları listeler. |
Evet |
WHERE |
Sonuçlara dahil edilecek her kayıt tarafından karşılanması gereken alan ölçütlerini belirtir. |
Hayır |
ORDER BY |
Sonuçların nasıl sıralanacağını belirtir. |
Hayır |
GROUP BY |
Toplama işlevleri içeren bir SQL deyiminde, SELECT yan tümcesinde özetlenmeyen alanları listeler. |
Yalnızca bu tür alanlar varsa |
HAVING |
Toplama işlevleri içeren bir SQL deyiminde, SELECT deyiminde özetlenen alanlara uygulanan koşulları belirtir. |
Hayır |
Her SQL yan tümcesi terimlerden oluşur. Bazı yaygın SQL terimlerinin listesi aşağıdadır.
SQL terimi |
Tanım |
Örnek |
Tanımlayıcı |
Sütun adı gibi bir veritabanı nesnesini tanımlamak için kullandığınız ad. |
[E-posta Adresi] ve Şirket |
işleç |
Bir eylemi temsil eden veya eylemi değiştiren anahtar sözcük. |
AS |
sabit |
Sayı veya NULL gibi değişmeyen bir değer. |
42 |
ifade |
Tanımlayıcıların, işleçlerin, sabitlerin ve işlevlerin tek bir değer olarak değerlendirilen birleşimi. |
>= Ürünler. [Birim Fiyat] |
SELECT yan tümcesini özelleştirme
Özelleştirme |
Örnek |
Yalnızca ayrı değerleri görmek için. SELECT yan tümcenizde DISTINCT anahtar sözcüğünü kullanın. |
Örneğin, müşterileriniz birkaç farklı şubeden geliyorsa ve bazıları aynı telefon numarasına sahipse ve yalnızca bir kez listelenen bir telefon numarası görmek istiyorsanız, SELECT yan tümceniz şöyle olacaktır:
|
Okunabilirliği artırmak için veri sayfası görünümünde tanımlayıcının görüntülenme şeklini değiştirmek için. SELECT yan tümcenizde alan diğer adıyla AS işlecini (Eylemi temsil eden veya eylemi değiştiren anahtar sözcük) kullanın. Alan diğer adı, sonuçların daha kolay okunmasını sağlamak için alana atadığınız addır. |
|
FROM yan tümcesini özelleştirme
Özelleştirme |
Örnek |
Tablo diğer adını veya select deyimindeki bir tabloya atadığınız farklı bir adı kullanabilirsiniz. Tablo adı uzunsa, özellikle farklı tablolardan aynı ada sahip birden çok alanınız varsa, tablo diğer adı yararlı olur. |
Her ikisi de id adlı iki alandan veri seçmek için bunlardan biri tblCustomer tablosundan, diğeri de tblOrder tablosundan gelir:
FROM yan tümcesinde tablo diğer adlarını tanımlamak için AS işlecini kullanın:
Ardından select yan tümcenizde aşağıdaki gibi bu tablo diğer adlarını kullanabilirsiniz:
|
İki veri kaynağındaki kayıt çiftlerini tek bir sonuçta birleştirmek veya ilişkili tabloda karşılık gelen bir kayıt yoksa iki tablodan kayıtların dahil edilip edilmeyeceğini belirtmek için birleştirmeleri kullanın. Tabloları birleştirerek sorgunun tablolardaki öğeleri birleştirmesini ve diğer tabloda karşılık gelen kayıt olmadığında öğeleri dışlamasını sağlar |
FROM yan tümcesi şöyle görünebilir:
|
Birleştirmeleri kullanma hakkında
İç ve dış birleşim olmak üzere iki tür birleşim vardır. İç birleşimler sorgularda daha yaygındır. İç birleşim içeren bir sorgu çalıştırdığınızda, sonuç yalnızca birleştirilen tabloların her ikisinde de ortak bir değerin bulunduğu öğeleri gösterir.
Dış birleşimler, ortak değer bulunmayan verilerin eklenip eklenmeyeceğini belirtir. Dış birleşimler yönseldir; yani birleşimde belirtilen ilk tablodaki tüm kayıtların (sol birleşim olarak adlandırılır) dahil edilip edilmeyeceğini veya ikinci tablodaki tüm kayıtların birleştirmeye dahil edilip edilmeyeceğini belirtebilirsiniz (sağ birleştirme olarak adlandırılır). Dış birleşim aşağıdaki SQL söz dizimine sahiptir:
FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 = table2.field2
Birleştirme tabloları ve sorguları'nda sorguda birleştirmeleri kullanma hakkında daha fazla bilgi edinin.
WHERE yan tümcesini özelleştirme
WHERE yan tümcesi, sorguda döndürülen öğe sayısını sınırlamaya yardımcı olan ölçütler içerir. Sorgu ölçütlerinin örneklerine ve nasıl çalıştıklarına bakın.
Temel WHERE yan tümcesini nasıl özelleştirebileceğinize bir örnek, sorgunun sonuçlarını sınırlamaktır; Bir müşterinin telefon numarasını bulmak istediğinizi ve yalnızca Soyadını Bagel olarak hatırlayabildiğinizi varsayalım. Bu örnekte soyadları bir Soyadı alanında depolandığından SQL söz dizimi şöyle olacaktır:
WHERE [LastName]='Bagel'
WHERE yan tümcesini, eşleşen verileri olan ancak farklı veri türlerine sahip sütunların veri kaynaklarını birleştirmek için de kullanın. Bu, farklı veri türlerine sahip alanlar arasında birleştirme oluşturamadığınız için kullanışlıdır. Like anahtar sözcüğüyle bir alanı diğer alan için ölçüt olarak kullanın. Örneğin, Bir Varlıklar tablosundaki ve Çalışanlar tablosundaki verileri kullanmak istiyorsanız, yalnızca Varlıklar tablosunun varlık türü alanındaki varlığın türü Çalışanlar tablosunun Miktar alanında 3 sayısı olduğunda WHERE yan tümceniz şöyle görünür:
WHERE field1 LIKE field2
Önemli: WHERE yan tümcesinde toplama işleviyle kullanılan bir alan için ölçüt belirtemezsiniz. Bunun yerine, toplanan alanlara yönelik ölçütler belirtmek için HAVING yan tümcesini kullanırsınız.
UNION işleciyle özelleştirme
Benzer seçme sorgularından sonuçların birleşik bir görünümünü görmek istediğinizde UNION işlecini kullanın. Örneğin, veritabanınızda Ürünler tablosu ve Hizmetler tablosu varsa ve her ikisinin de üç alanı varsa: özel teklif veya ürün veya hizmet, fiyat, garanti veya garanti. Ürünler tablosunda garanti bilgileri ve Hizmetler tablosu garanti bilgilerini depolasa da temel bilgiler aynıdır. Birleşim sorgusunu kullanarak iki tablodaki üç alanı birleştirebilirsiniz:
SELECT name, price, warranty, exclusive_offer
FROM Products UNION ALL SELECT name, price, guarantee, exclusive_offer FROM Services;
Sorguyu çalıştırdığınızda, karşılık gelen her alan kümesindeki veriler tek bir çıkış alanında birleştirilir. Sonuçlara yinelenen satırları eklemek için ALL işlecini kullanın.
Not: Select deyimi, aynı sırada ve aynı veya uyumlu veri türleriyle aynı sayıda çıkış alanına sahip olmalıdır. Birleşim sorgusunun amaçları doğrultusunda Sayı ve Metin veri türleri uyumludur.
Birleşim sorguları hakkında daha fazla bilgi için bkz. Birden çok sorgudan birleştirilmiş bir sonucu görüntülemek için birleşim sorgusu kullanma.