Delete Deneyimi

DELETE deyimi tablodaki satırları silmek için kullanılır.
Söz dizimi:
DELETE FROM <tablo adı>
WHERE <sütun adı>=<aranan değer>
By mert

Update Deyimi

UPDATE deyimi tablodaki veriyi değiştirmek için kullanılır.
Söz dizimi:
UPDATE <tablo adı>
SET <sütun adı>= <yeni değer>
WHERE <sütun adı> = <eski değer>
By mert

INSERT… VALUE İŞLEMİ

INSERT ifadesini VALUES yantümcesi ile birlikte kullanarak tablolara yeni satırlar eklenebilir. Eklenecek olan verilerde sütun sırası ve veri türü tablonunkilerle uyuşmalıdır.
INSERT…SELECT
Bir sorgunun sonuç kümesini bir tabloya eklemek istediğimizde INSERT – SELECT ifadesini kullanırız. Bu işlem sırasında verilerin yazılacağı tablonun alanlarının boş(NULL) değere izin verip vermediğine veya alanın varsayılan (default) bir değeri olup olmadığına dikkat edilmelidir. Eğer boş (NULL) değere izin verilmiyorsa, bu alanlar için mutlaka bir değer belirtilmelidir.


INSERT INTO… VALUES

INSERT INTO deyimi bir tabloya yeni kayıtlar eklemek için kullanılır. Daha önce gördüğümüz INSERT INTO deyiminden farklı olarak sadece belirli sütunlara da veri girişi yapılabilir.
Söz dizimi 1:
INSERT INTO table_name
VALUES (value1, value2,….)
Söz dizimi 2:
INSERT INTO table_name (column1, column2,…)
VALUES (value1, value2,….)
By mert

ALT SORGULAR(SUBQUERIES)

Bir Alt Sorgu başka bir SELECT, INSERT, UPDATE veya DELETE ifadesi içerisine yuvalanmış bir SELECT ifadesidir. Çoğu durumda alt sorguları JOIN ifadelerine dönüştürebilirsiniz. Alt sorgular, karmaşık sorguları biraz daha anlaşılabilir mantıksal bölümlere ayırmak için veya birbaşka sorgunun sonuç kümesine dayalı bir sorguyu çalıştırmak için kullanılır. JOIN bağlantıları Alt Sorgulardan daha hızlı işlenirler.


Sonuç Kümesinin Tablo Olarak Kullanımı
Bir sorgunun FROM ifadesinde kullanılan tablonun yerine bir başka sorguyu kullanabilirsiniz. Sonuç Kümesine herhangi bir tabloya yapabildiğimiz gibi bir geçici takma ad verilebilir.

Sonuç Kümesinin Bir Deyim Olarak Kullanılması
Transact-SQL de bir sorguyu herhangi bir deyimin yerine kullanabilirsiniz. Bu amaç için kullanılacak bir sorgu tek bir sayısal değer veya tek bir sütun değer listesi döndürmelidir. Bir değerler listesi geri döndüren sorgular IN anahtar kelimesi içeren WHERE yantümcesi yerine kullanılabilir.

İlişkili Alt Sorgu
İç sorgu ile dış sorgu bir alan üzerinden doğrudan ilişkilidir.
Alt Sorgu-Join dönüşümü
İkişkili alt sorguları bir JOIN ifadesi yerine kullanabilirsiniz.
Alt Sorgu-Having Dönüşümü
İkişkili bir alt sorgunun ürettiği sonuç kümesini HAVING yantümcesi ile de elde edebiliriz.


Exits ve Not Exits İşlevleri:
Bazı durumlarda Alt Sorguların ürettikleri değerler ile değil, sorgunun sonucunun var olup olmadığıyla ilgileniriz. EXIST ve NOT EXIST işlevleri, bu sorgulamayı yapmak için kullanılır ve DOĞRU (TRUE) veya YANLIŞ (FALSE) değeri döndürür.
By mert

UNION

UNION işlevi iki veya daha fazla SELECT sorgusunun sonuçlarını tekbir sonuç kümesinde birleştirir.
Görüntülenecek olan tablolar aynı veritüründe aynı sayıda ve aynı düzendeki sütunlardan oluşmalıdır.
By mert

İkiden Fazla Tablonun Birleştirilmesi

Gerektiğinde ikiden fazla tabloyu birleştirmek te mümkündür. Bir JOIN işlemiyle birleştirilen tablolar bir başka tabloya aralarıdaki ortak bir sütun üzerinden bağlanabilir. 

SELF-JOINS
Bir tablodaki aynı değerleri içeren farklı satırları listelemek istediğimizde o tabloyu kendisi ile birleştiririz.
By mert

SQL Join

Şimdiye kadar aynı anda sadece tek bir tablodan veriler ile çalıştık. Bazı durumlarda sonuç kümemizin daha anlamlı olabilmesi için iki farklı tablodan verilere ihtiyacımız olabilir. Bunun için sorgumuzda iki anahtar kelime daha kullanırız;
JOIN ifadesi ile hangi tabloları ve nasıl birleştireceğimizi
ON ifadesi ile tabloların hangi alanlar üzerinden birleşeceğini belirtiriz.
Tablolar genelde Birincil Anahtar ve Yabancı Anahtar alanları üzerinden birleştirilselerde, gerektiğinde diğer herhangi bir alan da bunun için kullanılabilir. Fakat bu alanların aynı tür veri içerdiğinden emin olmalısınız.

Birincil Anahtar(Primary key), her kayıt için benzersiz bir değer taşıyan alandır. Örneğin, öğrenci kayıtlarının tutulduğu bir tabloda, öğrenci numarasının saklandığı alan birincil anahtar olarak seçilebilir. Zira öğrenciyle ilgili tüm bilgiler gerçekte onun numarası ile kodlanmıştır ve her öğrencinin numarası bir birinden farklıdır. 


INNER JOIN
SQL de varsayılan bağlantı türüdür. İlişkili tablolarda sadece JOIN koşulunu sağlayan kayıtlar listelenir.


OUTER JOIN
LEFT veya RIGHT OUTER JOIN ifadeleri ilişkili alanda birbiriyle eşleşenlerin yanında eşleşmeyen kayıtları da listeler. JOIN koşuluna uymayan satırlar NULL(boş) değer olarak görüntülenirler.


LEFT JOIN
LEFT OUTER JOIN ile yazımdaki ilk tablonun tüm satırları listelenir ve diğer tablo ile eşleşmeyen alanlar NULL(boş) değer ile gösterilir. Eğer tabloların sorgudaki sırası değişirse aynı sonucu elde edebilmek için RIGHT OUTER JOIN kullanılır.


Söz dizimi:

SELECT <sütun_ad(lar)ı> FROM <ilk_tablo>
LEFT JOIN <ikinci_tablo>
ON <ilk_tablo>.<ahantar_alan> = <ikinci_tablo>.<anahtar_alan>



RIGHT JOIN

İkinci tablodaki tüm kayıtları listelemek istendiğinde RIGHT JOIN kullanılır. Bu durumda ise birinci tablodaki eşleşmeyen kayıtlar NULL(boş) olarak görüntülenir. Eğer tabloların yazım önceliğini değiştirirseniz, sorgu LEFT OUTER JOIN ile aynı sonucu verecektir.



Söz dizimi:
SELECT <sütun ad(lar)ı>
FROM <ilk_tablo>
RIGHT JOIN <ikinci_tablo>
ON <birinci_tablo>.<anahtar alan> = <ikinci_tablo>.<anahtar_alan>


CROSS JOIN
İlişkisel tablolar arasında olası tüm eşleşmeleri listeler. Belirli ortak bir alan belirtilmesine gerek yoktur.
By mert

COMPUTE ve COMPUTE BY

COMPUTE ifadesi tüm sonuç kümesini listeler ve bu listenin altında tek bir detay satırı görüntüler. COMPUTE ile kullandığınız sütun SELECT listesinde yer almalıdır. Compute BY kullanılarak daha detaylı gruplandırma da yapılabilir.
By mert

GROUP BY İLE ÖZET BİLGİ

GROUP BY ile bir toplama işlevi kullandığımızda her farklı değer için sadece sonuç satırı görüntülenir. Gruplandırdığımız değerlerin detaylarını farklı yantümceler kullanarak görüntüleyebiliriz.


ROLLUP
Grup değerlerini özetlemek için kullanılır.

CUBE
GROUP BY ile belirtilen sütunların tüm olası eşleşmelerini özetler

GROUPING FONSİYONU
ROLL UP ve CUBE ile elde edilen sonuç kümesini görsel olarak daha kolay yorumlayabilmemizi sağlar. GROUPING ile belirtilen her sütun için yeni bir sütun oluşturulur. Bu sütunlarda özet bilgiler için 1, detay bilgiler için 0 değeri görüntülenir.
By mert

HAVING YANTÜMCESİ

Toplam fonksiyonlarını kullanırken kısıt girilmesi gerektiğinde WHERE yantümcesini kullanamayız. HAVING yantümcesi, GROUP BY ile elde edilecek satırları kısıtlamak için kullanılır. İşlev olarak WHERE yantümcesi gibi çalışır fakat WHERE yantümcesi gruplama işlemlerinden önce, HAVING yantümcesi ise GROUP BY’dan sonra uygulanır.
By mert