Aşağıdaki SQ yazım kuralları , tüm temel SQL sözdizimini kavrayıp, SQL diline hızlı bir başlangıç yapmanızı sağlayacaktır. Bu yazı ile sık kullanılan SQL komutlarına özet olarak ulaşma şansı bulacaksınız.
Tüm bu SQL deyimleri, SELECT, INSERT, UPDATE, DELETE, ALTER, DROP, CREATE, USE, SHOW gibi anahtar kelimelerin herhangi biriyle başlar ve tüm ifadeler bir noktalı virgül (;) ile biter.
Yukarıdaki büyük harfler ile yazılmış olmasına rağmen SQL dili büyük küçük harf duyarsızdır. UPDATE, Update yada update aynı anlamları ifade etmektedir. Aynı zamanda veritabanı adlarında da SQL Server büyük küçük harf duyarsız olarak kullanılabilir. Yazar, yazar yada YAZAR ifadeleri aynı anlama gelmektedir.
Aşağıdaki yazım kurallarını da kapsayan SQL SORGULARI yazısını inceleyebilirsiniz.
SQL Yazım Kuralları
Not: Yazılan bu kodların hepsi SQL Server 2014 ile test edilmiştir.
SQL SELECT Kullanımı :SQL SELECT deyimi, veritabanı tablosundan verileri tablo şeklinde almak için kullanılır.
1 2 3 4 |
SELECT sutun1, sutun2, ..., sutunN FROM tablo_adi |
sutun1, sutun2, … değerleri istediğimiz tablonun alanlarını göstermektedir. Tüm satırları çekmek için yazılması gereken SQL SELECT komutu ise şu şekilde olmalıdır.
1 2 3 |
SELECT * FROM tablo_adi |
SQL DISTINCT Kullanımı :SQL DISTINCT anahtar sözcüğü, tüm yinelenen kayıtları ortadan kaldırmak ve yalnızca benzersiz kayıtları almak için SELECT deyimi ile birlikte kullanılır.
1 2 3 4 |
SELECT DISTINCT sutun1, sutun2, ...., sutunN FROM tablo_adi |
SQL SELECT WHERE Kullanımı : SELECT WHERE deyimi, belirtilen şarta göre kayıtları süzmek ve yalnızca gerekli kayıtları almak kullanılır.
1 2 3 4 5 |
SELECT DISTINCT sutun1, sutun2, ...., sutunN FROM tablo_adi WHERE sart_ifadesi |
SQL AND / OR Kullanımı: AND ve OR Operatörleri farklı şartları birden fazla şart ile sınırlandırmak için kullanılır.
1 2 3 4 5 |
SELECT DISTINCT sutun1, sutun2, ...., sutunN FROM tablo_adi WHERE ŞART1 {AND|OR} ŞART2 {AND|OR} ŞARTN |
SQL SELECT IN Kullanımı : SELECT IN İfadesi ile bir şart cümlesinde bir fazla değeri belirtmek için kullanılır. Birden fazla OR deyimi için de kısaltma olarak kullanılabilir.
SELECT IN eşleşen kayıtlar için kullanılabileceği gibi, NOT IN ile de eşleşmenin dışındaki kayıtları çekmek için kullanılabilir.
SELECT IN ile başka bir SQL SELECT ifadesinden dönen değeri de seçip IN içinde kullanmak mümkündür.
Bilgi: İçerideki SELECT ifadesinden dönen kaydın tek değer olması gerektiğine dikkat edilmesi de gerekir.
1 2 3 4 5 |
SELECT DISTINCT sutun1, sutun2, ...., sutunN FROM tablo_adi WHERE sutun_adi IN(deger1,deger2,degerN) |
1 2 3 4 5 |
SELECT DISTINCT sutun1, sutun2, ...., sutunN FROM tablo_adi WHERE sutun_adi NOT IN(deger1,deger2,degerN) |
1 2 3 4 5 |
SELECT DISTINCT sutun1, sutun2, ...., sutunN FROM tablo_adi WHERE sutun_adi IN(SELECT sutun FROM diger_tablo) |
SQL BETWEEN Kullanımı : Belirtilen aralıktaki değerleri döndürmek için kullanılır. deger1 ve deger2 ifadeleri ile sayısal aralık aranacağı gibi iki tarih arasını da sorgulamak mümkündür.
1 2 3 4 5 |
SELECT sutun1, sutun2, ...., sutunN FROM tablo_adi WHERE sutun_adi BETWEEN deger1 AND deger2 |
SQL LIKE Kullanımı : SELECT LIKE ifadesi bir karakter dizesinin bir desenle eşleşip eşleşmediğini belirlemek için kullanılır.
Desen içinde tek karakter için _ (alt tire), bir ve birden fazla karakter için ise % (yüzde) sembolleri kullanılır.
1 2 3 4 5 |
SELECT sutun1, ....sutunN FROM tablo_adi WHERE sutun_adi LIKE {desen} |
SQL ORDER BY Kullanımı : SELECT ORDER BY İfadesi ile kayıtları belirtilen sütuna göre artan yada azalan sırada getirmek için kullanılır. Order by ile bir yada daha fazla sütuna göre sıralama yapmak mümkündür.
1 2 3 4 5 6 |
SELECT sutun1, sutun2....sutunN FROM tablo_adi WHERE VARSA SART ORDER BY sutun_adi {ASC|DESC} |
1 2 3 4 5 |
SELECT sutun1, sutun2, sutunN FROM tablo_adi ORDER BY sutunA ASC, sutunB DESC |
SQL GROUP BY Kullanımı : SELECT GROUP BY İfadesi ile kayıtları belirli bir özet alanına göre gruplamak için kullanılır. Genellikle kümeleme fonksiyonları ( COUNT, MAX, SUM, AVG, vb) ile kullanılır. Her grup kümesi için bir tek kayıt döndürür. GROUP BY ile bir yada daha fazla sütuna göre kümeleme yapmak mümkündür.
Bilgi: Bir kural değildir ama GROUP BY ile kümelenen alan SELECT ifadesinden sonra kullanılır. Kümeleme fonksiyonlarına aggregate fonksiyonlar denilmektedir.
1 2 3 4 5 6 |
SELECT alan_adiA FROM tablo_adi WHERE varsa_sart GROUP BY alan_adiA |
1 2 3 4 5 6 |
SELECT SUM(sutun_adi) FROM tablo_adi WHERE VARSA_ŞART GROUP BY sutun_adi |
1 2 3 4 5 |
SELECT SUM(sutun1), sutun2, sutun3 FROM tablo_adi GROUP BY sutun1, sutun2 |
1 2 3 4 5 6 |
SELECT SUM(sutunA), sutunB, sutunC FROM tablo_adi GROUP BY sutunA, sutunB ORDER BY SUM(sutunA) DESC |
1 2 3 4 5 6 7 |
SELECT AVG(A.sutunC), A.sutunB, B.sutunC FROM tabloA A JOIN tabloB B ON A.tabloAno = B.tabloBno GROUP BY A.sutunC, A.sutunB ORDER BY SUM(A.sutunC) DESC |
SQL COUNT Kullanımı : Sorgu sonucundaki kayıt adetini döndürür. Sorgulama sonucunda etkilenen satır sayısı olarak da ifade edilebilir.
1 2 3 4 5 |
SELECT COUNT(sutun_adi) FROM tablo_adi WHERE VARSA_ŞART |
SQL SUM Kullanımı : Belirtilen sütundaki değerin toplamı getirir.
1 2 3 4 5 |
SELECT SUM(sutun_adi) FROM tablo_adi WHERE VARSA_ŞART |
SQL AVG Kullanımı : Belirtilen sütundaki değerin ortalamasını getirir.
1 2 3 4 5 |
SELECT AVG(sutun_adi) FROM tablo_adi WHERE VARSA_ŞART |
SQL HAVING Kullanımı : GROUP BY ile gruplanan kayıtları sınırlandırmak için kullanılır. WHERE şartı bireysel kayıtlar için sınırlandırma yaparken HAVING sadece gruplama için kullanılabilir.
Bilgi: HAVING ve WHERE aynı sorgularda kullanılabilir.
1 2 3 4 5 6 7 |
SELECT SUM(sutunAdi) FROM tablo_adi WHERE şart GROUP BY sutunAdi HAVING (şart) |
SQL CREATE TABLE Kullanımı : Yeni bir tablo oluşturmak için kullanılır. Tablo oluşturulurken sütun adları, veri türleri, birincil anahtar/anahtarlar belirtilir.
1 2 3 4 5 6 7 8 9 |
CREATE TABLE tablo_adi( sutun1 veri_türü, sutun2 veri_türü, ....... sutunN veri_türü, PRIMARY KEY( sütun yada sütunlar ) ) |
SQL DROP TABLE Kullanımı : Mevcut SQL Tablosunu kaldırmak için kullanılır. Tablo ve içindeki veriler geri dönüşü olmayacak şekilde silinecektir.
1 2 3 |
DROP TABLE tablo_adi |
SQL CREATE INDEX Kullanımı : SQL CREATE INDEX İfadesi, tablolarda dizinler oluşturmak için kullanılır. Oluşturulan diziler ile sorgulama sonuçları veritabanından çok daha hızlı bir şeklide getirilir.
1 2 3 4 |
CREATE UNIQUE INDEX index_adı ON tablo_adı ( sutun1, sutun2,...sutunN) |
SQL DROP INDEX Kullanımı : Oluşturulmuş index değerini kaldırmak için kullanılır.
1 2 3 4 |
ALTER TABLE tablo_adi DROP INDEX index_adi |
SQL TRUNCATE TABLE Kullanımı :SQL TRUNCATE TABLE komutu, mevcut bir tablodaki tüm verileri silmek için kullanılır.
1 2 3 |
TRUNCATE TABLE tablo_adi |
SQL ALTER TABLE Kullanımı : ALTER TABLE komutu; mevcut tabloya sütun eklemek, sütun silmek yada mevcut sütunun yapısında değişiklik yapmak için kullanılır. Daha detaylı kullanım için ALTER TABLE Kullanımı yazısını okumanızı tavsiye ederim.
1 2 3 |
ALTER TABLE tablo_adi {ADD|DROP|ALTER COLUMN} sutun_adi {veri_türü} |
SQL ALTER TABLE IDENTITY Kulanımı: Otomatik artan sayı yapmak için sütun oluşturulurken yapılası gerekiyor.
1 2 3 |
ALTER TABLE yazar ADD yazarno INT IDENTITY(1,1) |
SQL INSERT INTO Kullanımı : SQL INSERT INTO İfadesi, tabloya yeni kayıtlar eklemek için kullanılır.
1 2 3 4 |
INSERT INTO tablo_adi( sutun1, sutun2....sutunN) VALUES ( deger1, deger2....degerN) |
SQL UPDATE Kullanımı : SQL UPDATE İfadesi, tablodaki veri/verileri güncellemek için kullanılır.
Bilgi: şart belirtilmediğinde güncellemeden tablodaki tüm kayıtlar etkilenecektir.
1 2 3 4 5 |
UPDATE tablo_adi SET sutun1= deger1, sutun2= deger2, ...., sutunN=degerN [ WHERE ŞART] |
SQL DELETE Kullanımı : SQL DELETE İfadesi, veritabanından kayıt yada kayıtları silmek için kullanılır.
Bilgi: Şart belirtilmezse tablodaki tüm kayıtları silinecektir.
1 2 3 4 |
DELETE FROM tablo_adi WHERE {şart} |
SQL CREATE DATABASE Kullanımı : SQL CREATE DATABASE ifadesi ile yeni bir veritabanı oluşturulur.
1 2 3 |
SQL CREATE DATABASE veritabanı_adi |
SQL DROP DATABASE Kullanımı : SQL DROP DATABASE ifadesi ile veritabanı kaldırılır.
1 2 3 |
DROP DATABASE veritabanı_adi |
SQL USE Kullanımı : SQL Komutlarının çalıştırılacağı veritabanını seçmek için kullanılır.
1 2 3 |
USE veritabanı_adı |
[…] Sık Kullanılan SQL Komutları […]
[…] Sık Kullanılan SQL Komutları […]