Ana içeriğe geç
Kesit SQL
Temel · Temeller

SQL yazım kuralları: anahtar kelime, noktalı virgül, yorum ve tırnak

Bir SQL ifadesinin parçaları, okunabilir yazım ve sık yapılan yazım hataları.

Uygulamada aç, 7 alıştırmayı çözÜcretsiz, hesap gerekmez, kurulum yok.

Bu sayfa dersin okuma sürümüdür. Metin bir kutuyu çalıştırmanı ya da adıma geçmeni söylüyorsa dersi uygulamada aç.

Bir SQL ifadesinin anatomisi

SQL, İngilizceye benzeyen bir dildir. Bir sorgu ifadelerden (statement), ifadeler de yan cümlelerden (clause) oluşur: SELECT ..., FROM ..., WHERE ....

-- Bu bir yorum satırıdır; motor bu satırı okumaz
SELECT name, price          -- hangi sütunlar?
FROM products               /* hangi tablo? */
WHERE category = 'Kitap'    -- hangi satırlar?
ORDER BY price DESC;        -- hangi sırayla? (; ifadenin sonu)

Kurallar

KuralAçıklama
Büyük/küçük harfAnahtar kelimelerde fark etmez: select = SELECT. Okunabilirlik için anahtar kelimeleri BÜYÜK, tablo ve sütunları küçük yazmak yaygındır.
Boşluk ve satırBoşluk ve satır sonu fark etmez; uzun sorguları her yan cümle ayrı satırda olacak şekilde yaz.
Noktalı virgülİfadenin sonunu gösterir. Birden fazla ifade çalıştırırken zorunludur; tek ifadede çoğu araç affeder.
Metin sabitiTek tırnak: 'Kitap'. Metnin içinde tek tırnak varsa iki kez yazılır: 'Ali''nin'.
TanımlayıcıBoşluk veya ayrılmış kelime içeren tablo/sütun adları için: SQL Server [ad], PostgreSQL ve Oracle "ad", MySQL ve BigQuery `ad`.
YorumTek satır -- ..., çok satır /* ... */. MySQL'de # de kullanılır.
SayılarOndalık ayırıcı noktadır: 12.5. Binlik ayırıcı yazılmaz.
Çift tırnak tuzağıPostgreSQL ve Oracle'da WHERE city = "İzmir" yazarsan motor “İzmir” adında bir sütun arar ve hata verir. Metinler her zaman tek tırnaklıdır.

Mantıksal yazım sırası

Yan cümleler şu sırayla yazılır (hepsi zorunlu değildir): SELECT → FROM → JOIN → WHERE → GROUP BY → HAVING → ORDER BY → LIMIT. Sırayı karıştırmak (WHERE'i GROUP BY'dan sonra yazmak gibi) sözdizimi hatası verir.

SELECT category, COUNT(*) AS urun
FROM products
WHERE price > 500
GROUP BY category
HAVING COUNT(*) >= 3
ORDER BY urun DESC;
Biçimlendir düğmesiEditördeki Biçimlendir düğmesi sorgunu bu kurallara göre otomatik düzenler.
Alıştırmalara geç (7)