Kayıtlar

SQL Ders34 - UNION | UNION ALL

Resim
SQL'de UNION ve UNION ALL operatörü 2 veya daha fazla tablonun sorgu sonuçlarını birleştirmek için kullanılır.

Bu operatörü kullanabilmek için gerekli kurallar;
Sonucu birleştirilecek tablolar aynı sayıda kolon içermelidir.Sonucu birleştirilecek tabloların kolon tipleri karşılıklı eşleşmelidir.Sonucu birleştirilecek tabloların kolonları aynı sırada olmalıdır. Kopya satırların tekrar tekrar gösterilmemesi için UNION operatörü kullanılır.


SELECT kolon_ismi
FROM tablo_ismi
UNION
SELECT kolon_ismi
FROM tablo_ismi


 p1 tablosu

p2 tablosu
SqlQuery34.sql
SELECT * FROM p1 UNIONSELECT * FROM p2;

Kopya satırların tekrar tekrar gösterilmesi için UNION ALL operatörü kullanılır.


SELECT kolon_ismi
FROM tablo_ismi
UNION ALL
SELECT kolon_ismi
FROM tablo_ismi


SqlQuery34_2.sql
SELECT * FROM p1 UNIONALLSELECT * FROM p2;


SQL Ders33 - VIEW

Resim
SQL'de VIEW operatörü sanal tablo oluşturmak için kullanılır.

VIEW oluşturma


CREATE VIEW view_ismi AS
SELECT kolon_ismi
FROM tablo _ismi;



SqlQuery33.sql
CREATEVIEW istanbullular ASSELECT * FROM kisiler WHERE sehir='istanbul';
VIEW kullanma


SELECT kolon_ismi
FROM view_ismi;


SqlQuery33_2.sql
SELECT * FROM istanbullular;


VIEW güncelleme


ALTER VIEW view_ismi AS
SELECT kolon_ismi
FROM tablo_ismi;


SqlQuery33_3.sql
ALTERVIEW istanbullular ASSELECT * FROM kisiler WHERE sehir='londra';
VIEW silme


DROP VIEW view_ismi;


SqlQuery33_4.sql
DROPVIEW istanbullular;

SQL Ders32 - UPDATE

Resim
SQL'de UPDATE operatörü tablo üzerinde günceleme yapmayı sağlar.


UPDATE tablo_ismi
SET kolon_adi=deger;
WHERE kosul;


SqlQuery32.sql
UPDATE kisiler SET sehir='istanbul'WHERE ad='enes';


SQL Ders31 - ANY | ALL | EXIST | NOT EXISTS

Resim
SQL'de ANY operatörü herhangi biri anlamı, ALL operatörü hepsi anlamı, EXIST operatörü mevcut ise ve NOT EXISTS operatörü mevcut değilse anlamı taşır.


SELECT kolon_ismi
FROM tablo_ismi
WHERE kolon_ismi (<,>,=,.....) ANY ( ALT SORGU )



SELECT kolon_ismi
FROM tablo_ismi
WHERE kolon_ismi (<,>,=,.....) ALL ( ALT SORGU )



SELECT kolon_ismi
FROM tablo_ismi
WHERE EXIST ( ALT SORGU )



SELECT kolon_ismi
FROM tablo_ismi
WHERE NOT EXIST ( ALT SORGU )



SqlQuery31.sql
SELECT id FROM kisiler WHERE id > ANY( SELECT id FROM kisiler );
kisiler tablosunda idsi herhangi birinden daha büyük olan kişilerin idlerini geri döndürür.



SqlQuery31_2.sql
SELECT id FROM kisiler WHERE id >= ALL( SELECT id FROM kisiler );
kisiler tablosunda idsi hepsinden büyük veya eşit olan kişilerin idlerini geri döndürür.



SqlQuery31_3.sql
SELECT id FROM kisiler WHEREEXISTS( SELECT * FROM kisiler WHERE id=3 );
Alt sorgu doğru ise tüm idleri döndürür.




SQL Ders30 - HAVING

Resim
SQL'de HAVING operatörü GROUP BY operatörüne koşul koymak için kullanılır. WHERE operatörü her bir tablo verisine koşul koymak için kullanılıyordu. HAVING operatörü ise gruplama yapıldıktan sonra bu gruplara bir koşul koymak için kullanılır.


SELECT kolon_ismi
FROM tablo_ismi
WHERE kosul
GROUP BY kolon_ismi
HAVING kosul2;


SqlQuery30.sql
SELECT ulke,count(ulke) FROM kisiler WHERE id BETWEEN2AND4GROUPBY ulke HAVINGCOUNT(id)>=2ORDERBYcount(id) DESC;
Yukarıdaki sorgu kisiler tablosunun verilerini idsi 2 ve 4 arasında olan verileri ülkelere göre gruplandırır ve bu gruplandırmada ülkedeki kisi sayısı 2 veya daha fazla ise onları idleri azalan sırada ülke ve ülkedeki kişi sayısı kolonlarına koyar.





SQL Ders29 - GROUP BY

Resim
SQL'de GROUP BY operatörü kolonları ortak değerlere göre gruplamayı sağlamaktadır.


SELECT kolon_ismi
FROM tablo_ismi
WHERE kosul
GROUP BY kolon_ismi


SqlQuery29.sql
SELECT ulke,count(ulke) FROM kisiler GROUPBY ulke ORDERBYcount(id) DESC;
Yukarda kisiler arasında hangi ülkeye kaç kişi mensup olduğunu görülebilmesi için gerekli sorgu yazılmıştır.





SQL Ders20 - SELECT NULL

Resim
SQL'de NULL verilerin ilgili kolonda değeri atanmayan değerleridir. SQL sorgularda duruma göre NULL veya NOT NULL komutları kullanılabilir.


SELECT kolon_ismi
FROM tablo_ismi;
WHERE kolon_ismi IS NULL;



SELECT kolon_ismi
FROM tablo_ismi;
WHERE kolon_ismi IS NOT NULL;



CREATE TABLE tablo_ismi(
kolon_ismi kolon_tipi NOT NULL
);


SqlQuery20.sql
SELECT * FROM personeller WHERE AD ISNOTNULL;