Access SQL: temel kavramlar, sözlük ve söz dizimi
Applies ToMicrosoft 365 için Access Access 2024 Access 2021 Access 2019 Access 2016

Veritabanından veri almak istediğinizde, Yapılandırılmış Sorgu Dili veya SQL kullanarak verileri istersiniz. SQL, İngilizceye çok benzeyen ancak veritabanı programlarının anladığı bir bilgisayar dilidir. Çalıştırdığınız her sorgu arka planda SQL kullanır.

SQL'in nasıl çalıştığını anlamak daha iyi sorgular oluşturmanıza yardımcı olabilir ve istediğiniz sonuçları döndürmeyen bir sorguyu nasıl düzelteceğinizi anlamanıza yardımcı olabilir.

Bu, Access SQL ile ilgili bir dizi makaleden biridir. Bu makalede verileri seçmek için SQL'in temel kullanımı açıklanır ve SQL söz dizimini göstermek için örnekler kullanılır.

Bu makalenin başlıkları

SQL nedir?

SQL, olgu kümeleriyle ve aralarındaki ilişkilerle çalışmaya yönelik bir bilgisayar dilidir. Microsoft Office Access gibi ilişkisel veritabanı programları, verilerle çalışmak için SQL kullanır. Birçok bilgisayar dilinden farklı olarak, acemi biri için bile SQL'i okumak ve anlamak zor değildir. Birçok bilgisayar dili gibi SQL de ISO ve ANSI gibi standart kuruluşları tarafından tanınan uluslararası bir standarttır.

SORULARı yanıtlamanıza yardımcı olabilecek veri kümelerini açıklamak için SQL kullanırsınız. SQL kullanırken doğru söz dizimini kullanmanız gerekir. Söz dizimi, bir dilin öğelerinin doğru bir şekilde birleştirildiği kurallar kümesidir. SQL söz dizimi İngilizce söz dizimini temel alır ve Visual Basic for Applications (VBA) söz dizimi ile aynı öğelerin çoğunu kullanır.

Örneğin, adı Mary olan kişilerin soyadlarının listesini alan basit bir SQL deyimi şuna benzer olabilir:

SELECT Last_NameFROM ContactsWHERE First_Name = 'Mary';

Not: SQL yalnızca verileri işlemek için değil, tablolar gibi veritabanı nesnelerinin tasarımını oluşturmak ve değiştirmek için de kullanılır. Veritabanı nesnelerini oluşturmak ve değiştirmek için kullanılan SQL bölümüne veri tanımı dili (DDL) adı verilir. Bu konu DDL'i kapsamaz. Daha fazla bilgi için veri tanımı sorgusu kullanarak tablo veya dizin oluşturma veya değiştirme makalesine bakın.

SELECT deyimleri

SQL kullanarak bir veri kümesini açıklamak için bir SELECT deyimi yazarsınız. SELECT deyimi, veritabanından almak istediğiniz bir veri kümesinin tam açıklamasını içerir. Bunlar aşağıda belirtilmiştir:

  • Hangi tabloların verileri içerdiği.

  • Farklı kaynaklardan gelen verilerin nasıl ilişkili olduğu.

  • Verileri üretecek alanlar veya hesaplamalar.

  • Verilerin dahil edilmesi için eşleşmesi gereken ölçütler.

  • Sonuçların sıralanıp sıralanmadığı ve nasıl sıralanacağını.

SQL yan tümceleri

Tümce gibi SQL deyiminin de yan tümceleri vardır. Her yan tümce SQL deyimi için bir işlev gerçekleştirir. Select deyiminde bazı yan tümceler gereklidir. Aşağıdaki tabloda en yaygın SQL yan tümceleri listelemektedir.

SQL yan tümcesi

Yaptığı işlem

Gerekli

SELECT

İlgi çekici 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

SQL terimleri

Her SQL yan tümcesi terimlerden oluşur; konuşma bölümleriyle karşılaştırılabilir. Aşağıdaki tabloda SQL terimlerinin türleri listelenmiştir.

SQL terimi

Konuşmanın benzer bir parçası

Tanım

Örnek

Tanımlayıcı

Isim

Alan adı gibi bir veritabanı nesnesini tanımlamak için kullandığınız ad.

Müşteri. [Telefon Numarası]

işleç

fiil veya saldırgan

Bir eylemi temsil eden veya eylemi değiştiren anahtar sözcük.

AS

sabit

Isim

Sayı veya NULL gibi değişmeyen bir değer.

42

ifade

Sıfat

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]

Sayfanın Başı

Temel SQL yan tümceleri: SELECT, FROM ve WHERE

SQL deyimi genel biçimi alır:

SELECT field_1FROM table_1WHERE criterion_1;

Notlar: 

  • Access bir SQL deyimindeki satır sonlarını yoksayar. Ancak, SQL deyimlerinizin kendiniz ve diğerleri için okunabilirliğini geliştirmeye yardımcı olmak için her yan tümce için bir satır kullanmayı göz önünde bulundurun.

  • Her SELECT deyimi noktalı virgülle (;)) biter. Noktalı virgül, son yan tümcenin sonunda veya SQL deyiminin sonunda tek başına bir satırda görünebilir.

Access'teki bir örnek

Aşağıda, Access'te basit bir seçme sorgusunun SQL deyiminin nasıl görünebileceği gösterilmektedir:

Bir SELECT deyimi gösteren SQL nesne sekmesi

1. SELECT yan tümcesi

2. FROM yan tümcesi

3. WHERE yan tümcesi

Bu örnek SQL deyimi "Kişiler adlı tablodan E-posta Adresi ve Şirket adlı alanlarda depolanan verileri, özellikle de City alanının değerinin Seattle olduğu kayıtları seçin" sözlerini okur.

SQL söz diziminin nasıl çalıştığını görmek için bir kerede bir yan tümcesi olan örneğe bakalım.

SELECT yan tümcesi

SELECT [E-mail Address], Company

Bu SELECT yan tümcesidir. Bir işleç (SELECT) ve ardından iki tanımlayıcı ([E-posta Adresi] ve Şirket) oluşur.

Tanımlayıcı boşluk veya özel karakterler içeriyorsa ("E-posta Adresi" gibi), köşeli ayraç içine alınmalıdır.

SELECT yan tümcesinin hangi tabloların alanları içerdiğini belirtmesi gerekmez ve dahil edilecek veriler tarafından karşılanması gereken koşulları belirtemez.

SELECT yan tümcesi her zaman BIR SELECT deyiminde FROM yan tümcesinin önünde görünür.

FROM yan tümcesi

FROM Contacts

Bu FROM yan tümcesidir. Bir işleçten (FROM) ve ardından bir tanımlayıcıdan (Kişiler) oluşur.

FROM yan tümcesi, seçilecek alanları listelemez.

WHERE yan tümcesi

WHERE City="Seattle"

Bu WHERE yan tümcesidir. Bir işleç (WHERE) ve ardından bir ifade (City="Seattle") oluşur.

Not: SELECT ve FROM yan tümcelerinden farklı olarak WHERE yan tümcesi, SELECT deyiminin gerekli bir öğesi değildir.

SQL'in SELECT, FROM ve WHERE yan tümcelerini kullanarak yapmanızı sağladığı eylemlerin çoğunu gerçekleştirebilirsiniz. Bu yan tümceleri nasıl kullandığınız hakkında daha fazla bilgi şu ek makalelerde sunulmuştur:

Sayfanın Başı

Sonuçları sıralama: ORDER BY

Microsoft Excel gibi Access de sorgu sonuçlarını veri sayfasında sıralamanıza olanak tanır. Sorguda, bir ORDER BY yan tümcesi kullanarak sorgu çalıştırıldığında sonuçları nasıl sıralamak istediğinizi de belirtebilirsiniz. ORDER BY yan tümcesi kullanırsanız, SQL deyimindeki son yan tümcedir.

ORDER BY yan tümcesi, sıralama işlemleri için kullanmak istediğiniz alanların listesini, sıralama işlemlerini uygulamak istediğiniz sırayla içerir.

Örneğin, sonuçlarınızın önce Şirket alanının değerine göre azalan düzende sıralanmasını ve (Şirket için aynı değere sahip kayıtlar varsa) E-posta Adresi alanındaki değerlerin yanında artan düzende sıralanmasını istediğinizi varsayalım. ORDER BY yan tümceniz aşağıdakine benzer olacaktır:

ORDER BY Company DESC, [E-mail Address]

Not: Varsayılan olarak, Access değerleri artan düzende (A-Z, en küçükten en büyüğe) sıralar. Bunun yerine değerleri azalan düzende sıralamak için DESC anahtar sözcüğünü kullanın.

ORDER BY yan tümcesi hakkında daha fazla bilgi için ORDER BY Yan Tümcesi konusuna bakın.

Sayfanın Başı

Özetlenmiş verilerle çalışma: GROUP BY ve HAVING

Bazen bir aydaki toplam satışlar veya bir envanterdeki en pahalı öğeler gibi özetlenmiş verilerle çalışmak isteyebilirsiniz. Bunu yapmak için SELECT yan tümcenizdeki bir alana toplama işlevi uygularsınız. Örneğin, sorgunuzun her şirket için listelenen e-posta adreslerinin sayısını göstermesini istiyorsanız, SELECT yan tümceniz aşağıdakine benzer olabilir:

SELECT COUNT([E-mail Address]), Company

Kullanabileceğiniz toplama işlevleri, kullanmak istediğiniz alanda veya ifadede bulunan verilerin türüne bağlıdır. Kullanılabilir toplama işlevleri hakkında daha fazla bilgi için SQL Toplama İşlevleri makalesine bakın.

Toplama işlevinde kullanılmayan alanları belirtme: GROUP BY yan tümcesi

Toplama işlevlerini kullandığınızda, genellikle bir GROUP BY yan tümcesi de oluşturmanız gerekir. GROUP BY yan tümcesi, toplama işlevi uygulamadığınız tüm alanları listeler. Bir sorgudaki tüm alanlara toplama işlevleri uygularsanız GROUP BY yan tümcesini oluşturmanız gerekmez.

GROUP BY yan tümcesi WHERE yan tümcesini veya WHERE yan tümcesi yoksa FROM yan tümcesini hemen izler. GROUP BY yan tümcesi, alanları SELECT yan tümcesinde göründükleri şekilde listeler.

Örneğin, önceki örneğe devam edersek, SELECT yan tümceniz [E-posta Adresi] için bir toplama işlevi uygular ancak Company'ye uygulamazsa GROUP BY yan tümceniz aşağıdakine benzer olacaktır:

GROUP BY Company

GROUP BY yan tümcesi hakkında daha fazla bilgi için GROUP BY Yan Tümcesi konusuna bakın.

Grup ölçütlerini kullanarak toplama değerlerini sınırlama: HAVING yan tümcesi

Sonuçlarınızı sınırlamak için ölçüt kullanmak istiyorsanız ancak ölçüt uygulamak istediğiniz alan bir toplama işlevinde kullanılıyorsa WHERE yan tümcesini kullanamazsınız. Bunun yerine HAVING yan tümcesi kullanırsınız. HAVING yan tümcesi WHERE yan tümcesi gibi çalışır, ancak toplanan veriler için kullanılır.

Örneğin, SELECT yan tümcenizdeki ilk alanla AVG işlevini (ortalama değeri hesaplayan) kullandığınızı varsayalım:

SELECT COUNT([E-mail Address]), Company

Sorgunun sonuçları count işlevinin değerine göre kısıtlamasını istiyorsanız WHERE yan tümcesinde bu alan için ölçüt kullanamazsınız. Bunun yerine, ölçütleri HAVING yan tümcesine koyarsınız. Örneğin, sorgunun yalnızca şirketle ilişkilendirilmiş birden fazla e-posta adresi varsa satırları döndürmesini istiyorsanız HAVING yan tümcesi aşağıdakine benzer olabilir:

HAVING COUNT([E-mail Address])>1

Not: Sorgunun WHERE yan tümcesi ve HAVING yan tümcesi olabilir. Toplama işlevinde kullanılmayan alanların ölçütleri WHERE yan tümcesine, toplama işlevleriyle kullanılan alanların ölçütleri ISE HAVING yan tümcesine gider.

HAVING yan tümcesi hakkında daha fazla bilgi için HAVING Yan Tümcesi konusuna bakın.

Sayfanın Başı

Sorgu sonuçlarını birleştirme: UNION

Birkaç benzer seçme sorgusu tarafından döndürülen tüm verileri birleştirilmiş bir küme olarak birlikte gözden geçirmek istediğinizde UNION işlecini kullanırsınız.

UNION işleci, iki SELECT deyimini tek bir deyimde birleştirmenizi sağlar. Birleştirdiğiniz SELECT deyimleri, aynı sırada ve aynı veya uyumlu veri türleriyle aynı sayıda çıkış alanına sahip olmalıdır. Sorguyu çalıştırdığınızda, her bir karşılık gelen alan kümesindeki veriler tek bir çıkış alanında birleştirilir, böylece sorgu çıktısı, seçme deyimlerinin her biriyle aynı sayıda alana sahiptir.

Not: Birleşim sorgusunun amaçları doğrultusunda Sayı ve Metin veri türleri uyumludur.

UNION işlecini kullandığınızda, ALL anahtar sözcüğünü kullanarak sorgu sonuçlarının varsa yinelenen satırlar içerip içermeyeceğini de belirtebilirsiniz.

İki SELECT deyimini birleştiren birleşim sorgusu için temel SQL söz dizimi aşağıdaki gibidir:

SELECT field_1FROM table_1UNION [ALL]SELECT field_aFROM table_a;

Örneğin, Products adlı bir tablonuz ve Services adlı başka bir tablonuz olduğunu varsayalım. Her iki tablo da ürün veya hizmetin adını, fiyat, garanti veya garanti kullanılabilirliğini ve ürünü veya hizmeti özel olarak sunup sunmamanızı içeren alanlara sahiptir. Ürünler tablosu garanti bilgilerini depolasa ve Hizmetler tablosu garanti bilgilerini depolasa da, temel bilgiler aynıdır (belirli bir ürün veya hizmet kalite garantisi içerse de). İki tablodaki dört alanı birleştirmek için aşağıdaki gibi bir birleşim sorgusu kullanabilirsiniz:

SELECT name, price, warranty_available, exclusive_offerFROM ProductsUNION ALLSELECT name, price, guarantee_available, exclusive_offerFROM Services;

UNION işlecini kullanarak SELECT deyimlerini birleştirme hakkında daha fazla bilgi için bkz. Birleşim sorgusu kullanarak birkaç seçme sorgusunun sonuçlarını birleştirme.

Sayfanın Başı

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.