Access SQL: Temel kavramlar, sözcük dağarcığı ve söz dizimi

Uygulandığı Öğe
Microsoft 365 için Access Access 2024 Access 2021 Access 2019 Access 2016

Bir veritabanından veri almak istediğinizde, verileri Yapılandırılmış Sorgu DiliYapılandırılmış Sorgu Dili veya SQL kullanarak 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ızı kolaylaştırabilir.

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

Bu makalede

SQL nedir?

SQL, olgu kümeleri ve aralarındaki ilişkilerle çalışmak için kullanılan bir bilgisayar dilidir. Microsoft Office Access gibi ilişkisel veritabanı programları, verilerle çalışmak için SQL kullanır. Birçok bilgisayar dilinin aksine, SQL'in okunması ve anlaşılması bir acemi için bile 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 tanımlamak için SQL kullanırsınız. SQL kullanırken doğru söz dizimini kullanmanız gerekir. Sözdizimi, bir dilin öğelerinin doğru bir şekilde birleştirildiği kurallar kümesidir. SQL sözdizimi İngilizce sözdizimine dayalıdır ve Visual Basic for Applications ile aynı öğelerin çoğunu kullanırVisual Basic for Applications (VBA) sözdizimi.

Örneğin, adı Meryem olan ilgili kişilerin soyadlarının listesini alan basit bir SQL deyimi şuna benzeyebilir:

SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';

Not

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

SELECT deyimleri

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

  • Verilerin hangi tablolarda yer aldığı.
  • Farklı kaynaklardan gelen verilerin birbiriyle ilişkisi.
  • Verileri hangi alanların veya hesaplamaların üreteceği.
  • Verilerin dahil edilmesi için eşleşmesi gereken ölçütler.
  • Sonuçların sıralanıp sıralanmayacağı ve nasıl sıralanacağı.

SQL yan tümceleri

Tümce gibi, SQL deyiminin de 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 listelenmiştir.

SQL yan tümcesi İşlevi Gereklidir
SELECT İlgi alanına giren verileri içeren alanları listeler. Evet
FROM SELECT yan tümcesinde listelenen alanları içeren tabloları listeler. Evet
WHERE Sonuçlara eklenmek için her kayıt tarafından karşılanması gereken alan ölçütlerini belirtir. Hayır
SIRA ÖLÇÜTÜ 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 listelenir. Yalnızca böyle 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, konuşmanın bölümleriyle karşılaştırılabilir terimlerden oluşur. Aşağıdaki tabloda SQL terimi türleri listelenmektedir.

SQL terimi Konuşmanın karşılaştırılabilir kısmı Tanım Örnek
tanımlayıcı isim Bir veritabanı nesnesini tanımlamak için kullandığınız ad, örneğin alanın adı. müşteriler. [Telefon Numarası]
işleç Fiil veya zarf Bir eylemi temsil eden veya bir eylemi değiştiren bir anahtar sözcük. AS
sabit isim Sayı veya NULL gibi değişmeyen bir değer. 42
ifade sıfat Hesapta tek bir değer veren tanımlayıcılar, işleçler, sabitler ve işlevlerin birleşimi. >= Ürünler. [Birim Fiyat]

Sayfanın Başı

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

SQL deyimi genel biçim alır:

SELECT field_1
FROM table_1
WHERE criterion_1
;

Not

  • Access SQL deyiminde satır sonlarını yoksayar. Bununla birlikte, SQL deyimlerinizin kendiniz ve başkaları açısından daha rahat okunabilmesini sağlamak için her yan tümce için bir satır kullanabilirsiniz.
  • Her SELECT deyimi noktalı virgülle (;)) biter. Noktalı virgül son yan tümcenin sonunda veya SQL deyiminin sonundaki bir satırda görünebilir.

Access'te bir örnek

Aşağıda basit bir seçme sorgusuna yönelik SQL deyiminin Access'te nasıl görünebileceği gösterilmiştir:

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 şöyledir: "Kişiler adlı tablodan E-posta Adresi ve Şirket adlı alanlarda depolanan verileri, özellikle de Şehir alanının değeri Seattle olan kayıtları seçin."

SQL söz diziminin nasıl çalıştığını görmek için, her seferinde bir yan tümce olmak üzere örneğe bakalım.

SELECT yan tümcesi

SELECT [E-mail Address], Company

Bu, SELECT yan tümcesidir. Bir operatörden (SELECT) ve ardından iki tanımlayıcıdan ([E-posta Adresi] ve Şirket) oluşur.

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

SELECT yan tümcesi alanların hangi tablolarda bulunduğunu söylemek zorunda değildir ve eklenecek veriler tarafından karşılanması gereken hiçbir koşul belirtemez.

SELECT yan tümcesi, SELECT deyiminde her zaman FROM yan tümcesinin önünde gösterilir.

FROM yan tümcesi

FROM Contacts

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

FROM yan tümcesinde seçilecek alanlar listelenmez.

WHERE yan tümcesi

WHERE City="Seattle"

Bu WHERE yan tümcesidir. Bir işleçten (WHERE) ve ardından bir ifadeden (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 size sağladığı eylemlerin çoğunu SELECT, FROM ve WHERE yan tümcelerini kullanarak gerçekleştirebilirsiniz. Bu maddeleri nasıl kullanacağınız hakkında daha fazla bilgi şu ek makalelerde sunulmaktadır:

Sayfanın Başı

Sonuçları sıralama: ORDER BY

Microsoft Excel gibi, Access de bir veri sayfasındaki sorgu sonuçlarını sıralamanıza izin verir. ORDER BY yan tümcesini kullanarak sorgu çalıştırıldığında sonuçların nasıl sıralanmasını istediğinizi de sorguda belirtebilirsiniz. ORDER BY yan tümcesini kullanırsanız, bu SQL deyimindeki son yan tümce olur.

ORDER BY yan tümcesi, sıralama için kullanmak istediğiniz alanların, sıralama işlemlerini uygulamak istediğiniz düzende bir listesini 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ğeri taşıyan kayıtlar varsa — E-posta Adresi alanındaki değerlere göre artan sırada sıralanmasını istediğinizi varsayalım. ORDER BY yan tümceniz aşağıdaki gibi görünü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üğüne) 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 stoktaki en pahalı kalemler gibi özetlenmiş verilerle çalışmak istersiniz. 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 benzeyebilir:

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

Kullanabileceğiniz toplama işlevleri, kullanmak istediğiniz alan veya ifadedeki 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. Toplama işlevlerini sorgudaki tüm alanlara uygularsanız, GROUP BY yan tümcesini oluşturmanız gerekmez.

GROUP BY yan tümcesi, WHERE yan tümcesinin veya WHERE yan tümcesi yoksa FROM yan tümcesinin hemen arkasından gelir. GROUP BY yan tümcesinde alanlar, SELECT yan tümcesinde göründükleri şekilde listelenir.

Örneğin, önceki örneğe devam edersek, SELECT yan tümceniz [E-posta Adresi] için toplama işlevi uyguluyor ancak Şirket için uygulanmıyorsa, GROUP BY yan tümceniz aşağıdaki gibi 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çütleri kullanarak toplam değerleri sınırlama: HAVING yan tümcesi

Sonuçlarınızı sınırlandırmak için ölçüt kullanmak istiyorsanız, ancak ölçüt uygulamak istediğiniz alan toplama işlevinde kullanılıyorsa, WHERE yan tümcesi kullanamazsınız. Bunun yerine, HAVING yan tümcesini 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 birlikte AVG işlevini (ortalama bir değer hesaplayan) kullandığınızı varsayalım:

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

Sorgunun sonuçları bu SAY 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 bir HAVING yan tümcesine koyarsınız. Örneğin, sorgunun yalnızca şirketle ilişkilendirilmiş birden çok e-posta adresi varsa satır döndürmesini istiyorsanız, HAVING yan tümcesi aşağıdakine benzeyebilir:

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

Not

Sorguda bir WHERE yan tümcesi ve bir HAVING yan tümcesi olabilir; toplama işlevinde kullanılmayan alanların ölçütleri WHERE yan tümcesinin içinde ve toplama işlevleriyle kullanılan alanların ölçütleri de HAVING yan tümcesinin içinde yer alır.

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

Birbirine benzeyen birkaç seçme sorgusunun döndürdüğü 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, aynı veya uyumlu veri türleriyle aynı sayıda çıkış alanına sahip olmalıdır. Sorguyu çalıştırdığınızda, sorgu çıktısının select deyimlerinin her biriyle aynı sayıda alana sahip olması için, karşılık gelen alanların her kümesindeki veriler tek bir çıktı alanında birleştirilir.

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ında yinelenen satırlar olup olmayacağını da belirtebilirsiniz.

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

SELECT field_1
FROM table_1
UNION [ALL]
SELECT field_a
FROM table_a
;

Örneğin, Ürünler adında bir tablonuz ve Hizmetler adında bir diğer tablonuz daha olduğunu varsayalım. Her iki tabloda da ürünün veya hizmetin adını, fiyatını, garanti veya garanti kullanılabilirliğini ve ürünü veya hizmeti özel olarak sunup sunmadığınızı içeren alanlar vardır. Ürünler tablosunda garanti bilgileri ve Hizmetler tablosunda garanti bilgileri depolansa da, temel bilgiler aynıdır (belirli bir ürün veya hizmetin kalite taahhüdü içerip içermediği). İki tablodaki dört alanı birleştirmek için aşağıdaki gibi bir birleşim sorgusu kullanabilirsiniz:

SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services
;

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

Sayfanın Başı