SQL’de Bilinmesi Gereken En Temel Konular

Öncelikle bu yazıyı okumadan önce yer yer kişisel yorumlarım olacaktır, bilgi vermek isterim. Bu yazı hem bir eğitim hem de bir söyleşi yazısıdır.

Veri ile uğraşan, işi veri olan birçok kişinin SQL bilmesi gerekir, hiç kaçarı yok. Anacak şöyle iyi bir yanı var, SQL öğrenmek oldukça kolaydır ve hızlı bir şekilde öğrenirsiniz. En azından ilgi duyana, merak edenler için diyelim.

SQL Nedir?

Bu soru ile başlayalım ki havamız olsun, biraz ders birazda söyleşi niteliğinde ya yazım o bakımdan 🙂

SQL, Structured Query Language kelimelerinin kısaltması olan ve Türkçe’ye uyarladığımızda Yapılandırılmış Sorgu Dili anlamına gelen bir kısaltmadır. Peki ne demek bu yapılandırılmış sorgu dili? Şimdi asıl Türkçe ile ifade edelim 🙂

Programlamada kullanılan ve ilişkisel bir veritabanı yönetim sisteminde tutulan verileri yönetmek veya ilişkisel bir veri akışı yönetim sisteminde akış işleme için tasarlanmış, etki alanına özgü bir dildir.

PK, Primary Key Nedir?

Doğrudan çevirdiğimizde birincil anahtar anlamına gelir. Primary Key bir veri tablosundaki her satırı benzersiz bir şekilde tanımlanmış olan sütun veya sütunlar kümesidir. Genellikle ID yani belli bir kimlik için kullanılır.

SQL Clause, SQL Deyimi Nedir?

Daha çok bir sonucu önceden tanımlanmış koşullara göre filtrelemek için kullanılan deyimdir. Ama tabi sadece filtreleme amaçlı olarak sql deyimleri kullanılmaz. Örnek olarak ORDER BY bir deyim yani bir SQL clausedur, ancak filtreleme işlemlerinde değil sıralama işlemlerinde kullanılır. En sık kullanılan SQL deyimleri: TOP, WHERE, ORDER BY, GROUP BY, HAVING deyimleridir.

WHERE ve HAVIN Deyimleri Arasındaki Fark Nedir?

WHERE ve HAVING deyimi bir tablo içinde yer alan alanları bizim belirlediğimiz şartlara göre filtrelemek için kullanılırlar. İkisi arasındaki fark GROUP BY deyimi ile birlikte kullanıldıklarında ortaya çıkar.

WHERE deyimi gruplamadan yani GROUP BY deyiminden önce, HAVING deyimi ise gruplamadan sonra yani GROUP BY deyiminden sonra satırları filtrelemek için kullanılır.

SQL’de JOIN İşlemi Tipleri Nelerdir?

4 tipte JOIN yani birleştirme işlemimiz var, bunlar:

  1. INNER JOIN: Her iki tablodaki eşleşen kayıtlar yalnızca geriye döner. Bunu şöyle düşünün a ve b kümesi olsun iki kümenin birleşimi inner joindir.
  2. LEFT JOIN: İki tablo içerisinde solda yer alan tablonun kayıtları ve sağdaki tabloda eşleşen kayıtlar döner.
  3. RIGHT JOIN: İki tablo içerisinde sağda yer alan tablonun kayıtları ve soldaki tabloda eşleşen kayıtlar döner.
  4. FULL JOIN: İki tablo birleştirilir ve sonucunda tüm kayıtlar döner.

Bunu resmedelim:

SQL Join process
UNION ve JOIN arasındaki fark nedir?

Her ikisi de bir veya birden fazla tablodan dönen verileri tek bir sonuçta birleştirmek için kullanılır. Aralarındaki fark; JOIN ile farklı tablolardaki verilerin sütunlarını tek bir sonuçta birleştirilir, UNION ise farklı tablolardaki verilerin satırlarını tek bir sonuçta birleştirmeyi sağlar.

DELETE ve TRUNCATE arasındaki fark nedir?

DELETE ile bir tablodan bir veya birden fazla satırı silebiliriz. DELETE ile işlem yaptıktan sonra yaptığımız işlemi geri alıp, verilerimizi geri alabiliriz.

TRUNCATE ise bir tablodaki tüm satırları siler ve uygulandıktan sonra geri alma işlemi yapamayız.

VIEW Nedir?

VIEW aslında bir tablodur, nasıl bir tablo peki? Kullanıcının bir veya birden fazla tablo üzerinde yaptığı sorgu sonucu geriye dönen veri kümesinin tutulduğu tablo VIEW olarak adlandırılır.

SUBQUERY nedir ve alt türleri nelerdir?

Alt sorgu, iç sorgu veya iç içe sorgu olarak da adlandırılan subquery bir SQL sorgusu içinde yer alan bir sorgudur ve alınacak veriler içinde daha fazla kısıtlama için kullanılmaktadır.

İki tip alt sorgu türü vardır:

İlişkili alt sorgu: Dış sorgudan bağımsız olarak değerlendirilemez, çünkü alt sorgu üst ifadenin değerlerini kullanır.

İlişkisiz alt sorgu: Bağımsız bir sorgu olarak düşünülebilir ve alt sorgu çıktısı ana sorguda tutulur.

Aggregate ve Scaler Fonksiyonlar Arasındaki Fark Nedir?

Aggregate fonksiyonlar tek bir değer döndürmek için birden fazla değer üzerinde işlem gösteren fonksiyonlardır. Aggregate fonksiyonlar genelde HAVING ve GROUP BY deyimleri ile birlikte kullanılırlar.

Bunları açıklayalım.

AVG(): Bir dizi verinin ortalamasını hesaplamak için kullanılır.

COUNT(): Herhangi bir view veya tablodaki verilerin sayısını bulmak için kullanılır.

MIN(): Bir dizi değer içerisindeki en düşük değeri bulur.

MAX(): Bir dizi değer içerisindeki en büyük değeri bulur.

SUM(): Bir dizi verinin toplamını bulmak için kullanılır.

FIRST(): Bir dizi verinin ilk öğesini gösterir.

LAST(): Bir dizi verinin son öğesini gösterir.

Skaler Fonksiyon, giriş değerine bağlı olarak, tek bir değer döndürür.

Bunları açıklayalım.

LEN(): Alanın, sütunun toplam uzunluğunu bulmak için kullanılır.

UCASE(): Verilen string ifadenin tüm karakterlerini büyük harfe çevirir.

LCASE(): Verilen string ifadenin tüm karakterlerini küçük harfe çevirir.

CONCAT(): Verilen iki string veya daha fazla string ifadeyi toplama işlemi yapar. Yani birleştirme işlemlerinde kullanılır.

ROUND(): Ondalık sayılarda yuvarlama işlemleri için kullanılır.

SQL, MYSQL, MSSQL nedir?

SQL en başta açıkladığımız gibi yapılandırılmış sorgu dili anlamına gelir, bu sorguları kullandığımız dilin kendisi SQL’dir. MSSQL, MySQL ise bu dilin kullanılması için ortam sunan, veri tabanlarını yönettiğimiz bir veritabanı yönetim sistemidir. Buna Oracle vb diğer veritabanı yönetim sistemi programlarını da dahil edebiliriz. İngilizce olarak DBMS (Data Base Management System) olarak adlandırılırlar.

Temel konulara hızlıca değindiğimiz güzel bir yazı olduğu kanaatindeyim, bir sonraki yazılarda görüşmek dileğiyle, sağlıklı kalın 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir