SQL Dilinde Temel Sözdizimi Kullanımı Kılavuzu
SQL (Structured Query Language), veritabanlarını yönetmek ve sorgulamak için kullanılan standart bir dildir. Bu dilin etkin bir şekilde kullanılabilmesi için temel sözdizimi kurallarının anlaşılması kritik öneme sahiptir. Sözdizimi, bir dilin komutlarını, ifadelerini ve yapılarını doğru bir şekilde oluşturmak için izlenmesi gereken kurallar bütünüdür. Bu kılavuz, SQL dilinin temel sözdizimi yapısını, bileşenlerini ve pratik kullanım örneklerini detaylı bir şekilde açıklayacaktır.
Temel SQL Sözdizimi
SQL ifadeleri genellikle bir anahtar kelimeyle başlar, ardından belirli parametreler ve koşullar gelir. En yaygın sözdizimi kalıbı aşağıdaki gibidir:
SELECT [DISTINCT] kolon1, kolon2, ...
FROM tablo_adı
WHERE koşul
GROUP BY kolon
HAVING koşul
ORDER BY kolon [ASC|DESC];Bu genel yapı, çoğu SQL sorgusunun temelini oluşturur. Her bir bileşen, belirli bir amaca hizmet eder ve sorgunun nasıl yürütüleceğini belirler.
Sözdizimi Bileşenlerinin Detaylı Açıklaması
SELECT:SELECTifadesi, veritabanından veri almak için kullanılır. Hangi sütunların döndürüleceğini belirtirsiniz.[DISTINCT]:DISTINCTanahtar kelimesi, seçilen sütunlardaki yinelenen değerleri ortadan kaldırarak yalnızca benzersiz değerlerin döndürülmesini sağlar. Köşeli parantezler, bu kısmın isteğe bağlı olduğunu gösterir.kolon1, kolon2, ...: Seçilecek sütunların adlarıdır. Tüm sütunları seçmek için*karakteri kullanılabilir.FROM tablo_adı:FROMifadesi, verilerin hangi tablodan çekileceğini belirtir.WHERE koşul:WHEREyan tümcesi, belirli bir koşulu karşılayan satırları filtrelemek için kullanılır. Bu, sorgunun döndüreceği veri kümesini daraltır.GROUP BY kolon:GROUP BYyan tümcesi, aynı değere sahip satırları belirtilen sütunlara göre gruplar. Genellikle toplama fonksiyonlarıyla (COUNT,SUM,AVGvb.) birlikte kullanılır.HAVING koşul:HAVINGyan tümcesi,GROUP BYile oluşturulan grupları filtrelemek için kullanılır.WHEREkoşuluna benzer, ancak gruplar üzerinde çalışır.ORDER BY kolon [ASC|DESC]:ORDER BYyan tümcesi, sonuç kümesini belirtilen sütuna göre artan (ASC- varsayılan) veya azalan (DESC) sırada sıralar.;: Çoğu SQL veritabanında, bir SQL ifadesinin sonunu belirtmek için noktalı virgül (;) kullanılır. Bu, birden fazla ifadenin aynı anda çalıştırılmasını kolaylaştırır ve iyi bir pratiktir.
Pratik Kullanım Örnekleri
Aşağıdaki örnekler, yukarıda açıklanan sözdizimi bileşenlerinin nasıl kullanıldığını göstermektedir:
Örnek 1: Tüm Verileri Seçme
Bir tablodaki tüm sütunları ve satırları seçmek için SELECT * kullanılır.
SELECT *
FROM Calisanlar;Örnek 2: Belirli Sütunları Seçme
Yalnızca belirli sütunları seçmek için sütun adlarını virgülle ayırarak belirtin.
SELECT Ad, Soyad, Maas
FROM Calisanlar;Örnek 3: Koşullu Veri Seçimi (WHERE)
WHERE yan tümcesini kullanarak belirli bir koşulu karşılayan satırları filtreleyebilirsiniz.
SELECT Ad, Soyad
FROM Calisanlar
WHERE DepartmanID = 3;Örnek 4: Gruplama ve Toplama (GROUP BY, COUNT)
Departmanlara göre çalışan sayısını bulmak için GROUP BY ve COUNT fonksiyonunu kullanın.
SELECT DepartmanID, COUNT(CalisanID) AS ToplamCalisan
FROM Calisanlar
GROUP BY DepartmanID;Örnek 5: Grupları Filtreleme (HAVING)
Yukarıdaki örnekte, sadece 2'den fazla çalışanı olan departmanları listelemek için HAVING kullanılır.
SELECT DepartmanID, COUNT(CalisanID) AS ToplamCalisan
FROM Calisanlar
GROUP BY DepartmanID
HAVING COUNT(CalisanID) > 2;Örnek 6: Sıralama (ORDER BY)
Çalışanları maaşlarına göre azalan sırada sıralamak için ORDER BY kullanın.
SELECT Ad, Soyad, Maas
FROM Calisanlar
ORDER BY Maas DESC;Önemli Notlar ve İpuçları
Büyük/Küçük Harf Duyarlılığı: SQL anahtar kelimeleri genellikle büyük/küçük harf duyarlı değildir (örneğin,
SELECTveselectaynıdır). Ancak, tablo ve sütun adları, kullandığınız veritabanı sistemine (örneğin, MySQL varsayılan olarak Linux'ta duyarlıdır) ve yapılandırmasına göre duyarlı olabilir. En iyi uygulama, tutarlı bir adlandırma stratejisi izlemektir.Noktalı Virgül Kullanımı: Birçok veritabanı yönetim sistemi (DBMS), her SQL ifadesinin sonunda noktalı virgül (
;) kullanılmasını gerektirir veya bunu iyi bir uygulama olarak teşvik eder. Bu, birden fazla ifadeyi tek bir sorguda çalıştırmanıza olanak tanır.Okunabilirlik: Büyük ve karmaşık sorguları daha anlaşılır hale getirmek için girintileme ve boşluk kullanımı önemlidir. Ayrıca, sorgularınıza açıklama eklemek için
-- Bu bir yorumdur(tek satır) veya/* Bu birden fazla satırlık bir yorumdur */(çoklu satır) kullanabilirsiniz.Güvenlik (SQL Injection): Kullanıcı girdilerini doğrudan SQL sorgularına eklemek yerine, parametreli sorgular veya hazır ifadeler (prepared statements) kullanarak SQL injection saldırılarına karşı önlem alın. Bu, veritabanı güvenliği için kritik bir adımdır.
Performans: Büyük veritabanlarında sorgu performansını optimize etmek için doğru indeksleme, sorgu planlarını anlama ve gereksiz veri çekmekten kaçınma gibi konulara dikkat edin.
WHEREveJOINkoşullarının etkinliği performansı doğrudan etkiler.
        
                
            
            
Yorum yap
Yorumlar