Kayıtlar

programlama etiketine sahip yayınlar gösteriliyor

SQL Ders35 - JOIN

Resim
   SQL'de JOIN 2 veya daha fazla tabloyu birleştirmek için kullanılır. Bu birleştirme işlemi UNION da olduğu gibi düşey değil yatay bir biçimdedir. Dolayısıyla UNION operatöründeki gibi tabloların aynı kolonlara sahip olması gerekmez. JOIN türleri Inner Left Outer Right Outer Full Outer Self  r1 tablosu  r2 tablosu Inner Join İki veya daha fazla tablonun kesişimini alır. SELECT kolon_ismi FROM tablo_ismi INNER JOIN tablo_ismi2 ON kolon_ismi=kolon_ismi2 SqlQuery35.sql SELECT * FROM r1 INNER JOIN r2 ON r1.id=r2.id; Left Outer Join İki tablo ile işlem yapıldığı düşünülürse ilk tablonun tamamını, ikinci tablonun ise ilk tabloyla eşleşen kısımlarını alır. SELECT kolon_ismi FROM tablo_ismi LEFT JOIN tablo_ismi2 ON kolon_ismi=kolon_ismi2 SqlQuery35_2.sql SELECT * FROM r1 LEFT JOIN r2 ON r1.id=r2.id; Right Outer Join İki tablo ile işlem yapıldığı düşünülürse ikinci tablonun tamamını, ilk tablonun ise ikinci tab

SQL Ders40 - CONSTRAINTS | FOREIGN KEY

FOREIGN KEY   Başka bir tablonun PRIMARY KEY'i geçerli tabloda FOREIGN KEY olarak adlandırılır. CREATE TABLE tablo_ismi( degisken_ismi degisken_tipi FOREIGN KEY REFERENCES tablo_ismi(kolon_ismi) ); veya CREATE TABLE tablo_ismi( degisken_ismi degisken_tipi CONSTRAINT sınırlandırma_ismi FOREIGN KEY (kolon_ismi) ); FOREIGN KEY sınırlandırmasını daha önce oluşturulmuş bir tabloya ekleme ALTER TABLE tablo_ismi ADD FOREIGN KEY(kolon_ismi) REFERENCES tablo_ismi(kolon_ismi) ; veya ALTER TABLE tablo_ismi ADD CONSTRAINT sınırlandırma_ismi FOREIGN KEY(kolon_ismi) REFERENCES tablo_ismi(degisken_ismi); FOREIGN KEY sınırlandırmasını kaldırma ALTER TABLE tablo_ismi DROP CONSTRAINT sınırlandırma_ismi;

SQL Ders38 - CONSTRAINTS | UNIQUE

Bir kolondaki tüm verilerin farklı değerleri olmasını sağlar. Daha önce olan veriyi tabloya eklettirmez. CREATE TABLE tablo_ismi( degisken_ismi degisken_tipi UNIQUE); veya CREATE TABLE tablo_ismi( degisken_ismi degisken_tipi UNIQUE(degisken_tipi)); UNIQUE sınırlandırmasını daha önce oluşturulmuş bir tabloya ekleme ALTER TABLE tablo_ismi ADD UNIQUE (kolon_ismi); Birden fazla kolonda UNIQUE sınırlandırmasını eklemek için ADD CONSTRAINT sınırlandırma_ismi UNIQUE (kolon_ismi,kolon_ismi) UNIQUE sınırlandırmasını kaldırmak için ALTER TABLE tabllo_ismi DROP CONSTRAINT sınırlandırma_ismi; veya ALTER TABLE tablo_ismi ALTER COLUMN degisken_ismi degisken tipi; SqlQuery38.sql CREATE TABLE test (t int UNIQUE ); SqlQuery38_2.sql ALTER TABLE test ADD UNIQUE (t); SqlQuery38_3.sql ALTER TABLE test ALTER COLUMN T int;

SQL Ders39 - CONSTRAINTS | PRIMARY KEY

PRIMARY KEY  NOT NULL ve UNIQUE kombinasyonudur. Her tablo için bir tane mevcuttur. CREATE TABLE tablo_ismi( degisken_ismi degisken_tipi PRIMARY_KEY); veya CREATE TABLE tablo_ismi( degisken_ismi degisken_tipi CONSTRAINT sınırlandırma_ismi PRIMARY_KEY(kolon/kolonlar_ismi); ); PRIMARY KEY sınırlandırmasını daha önce oluşturulmuş bir tabloya ekleme ALTER TABLE tablo_ismi ADD PRIMARY KEY (kolon_ismi); veya ALTER TABLE tablo_ismi ADD CONSTRAINT sınırlandırma_ismi PRIMARY KEY (kolon/kolonlar_ismi); PRIMARY KEY sınırlandırmasını kaldırma ALTER TABLE tablo_ismi DROP CONSTRAINT sınırlandırma_ismi; SqlQuery39.sql CREATE TABLE test(t int NOT NULL CONSTRAINT pm_key PRIMARY KEY (t) ); SqlQuery39_2.sql ALTER TABLE test ADD CONSTRAINT pm_key PRIMARY KEY (t); SqlQuery39_3.sql ALTER TABLE test DROP CONSTRAINT pm_key;

SQL Ders37 - CONSTRAINTS | NOT NULL

NOT NULL Bir kolonun değerinin NULL olarak bırakılmamasını sağlar. CREATE TABLE tablo_ismi(degisken_ismi degisken_tipi NOT NULL); NOT NULL sınırlandırmasını ekleme ALTER TABLE tablo_ismi ALTER COLUMN kolon_ismi kolon_tipi NOT NULL; NOT NULL sınırlandırmasını kaldırma ALTER TABLE tablo_ismi ALTER COLUMN kolon_ismi kolon_tipi NULL; SqlQuery37.sql CREATE TABLE test(t int NOT NULL ); SqlQuery37_2.sql ALTER TABLE test ALTER COLUMN t int NULL ;

SQL Ders36 - CONSTRAINTS

   SQL'de tablodaki verileri için özel kısıtlamalar belirtebilirsiniz. Bu kısıtlamalara contraints denilmektedir. Kısıtlamalar kolon seviyesinde veya tablo seviyesinde olabilir. Kolon seviyesindeki kısıtlamalar sadece kolonu kapsarken, tablo seviyesindeki kısıtılamalar tüm tabloyu kapsar. SQL'de sıklıkla kullanılan kısıtlamalar (constraints) NOT NULL Bir kolonun değerinin NULL olarak bırakılmamasını sağlar. UNIQUE Bir kolondaki tüm verilerin farklı değerleri olmasını sağlar. PRIMARY KEY NOT NULL ve UNIQUE kombinasyonudur. Her tablo için bir tane mevcuttur. FOREIGN KEY Başka bir tablonun PRIMARY KEY'i geçerli tabloda FOREIGN KEY olarak adlandırılır. CHECK Bir tablonun kolonlarının özel bir koşula bağlı olarak atanmasını sağlar. Örneğin, ilgili kolona 0'dan küçük sayılar girilememesi gibi. DEFAULT Tabloya bir veri eklendiğinde ilgili kolona ait bir değer yoksa, hali hazırda bulunan DEFAULT değer kullanılır. INDEX Veritabanına hızlı veri kaydetmek ve almak

SQL Ders43 - CONSTRAINTS | INDEX

INDEX   Veritabanına hızlı veri kaydetmek ve almak için indexleme yapar. CREATE UNIQUE INDEX index_ismi ON tablo_ismi (kolon1, kolon2, ...); CREATE INDEX index_ismi ON tablo_ismi (kolon1, kolon2, ...); INDEX sınırlandırmasını silme DROP INDEX table_ismi .index_ismi;

SQL Ders42 - CONSTRAINTS | DEFAULT

DEFAULT   Tabloya bir veri eklendiğinde ilgili kolona ait bir değer yoksa, hali hazırda bulunan DEFAULT değer kullanılır. CREATE TABLE tablo_ismi( degisken_ismi degisken_tipi DEFAULT deger; ); DEFAULT sınırlandırmasını daha önce oluşturulmuş bir tabloya ekleme ALTER TABLE tablo_ismi ALTER COLUMN kolon_ismi SET DEFAULT deger; DEFAULT sınırlandırmasını silme ALTER TABLE tablo_ismi ALTER COLUMN kolon_ismi DROP DEFAULT;

SQL Ders41 - CONSTRAINTS | CHECK

CHECK   Bir tablonun kolonlarının özel bir koşula bağlı olarak atanmasını sağlar. Örneğin, ilgili kolona 0'dan küçük sayılar girilememesi gibi. CREATE TABLE tablo_ismi( degisken_ismi degisken_tipi CHECK (kosul) ); veya CREATE TABLE tablo_ismi( degisken_ismi degisken_tipi CONSTRAINT sınırlandırma_ismi CHECK (kosul) ); CHECK sınırlandırmasını daha önce oluşturulmuş bir tabloya ekleme ALTER TABLE tablo_ismi ADD CHECK (kosul); veya ALTER TABLE tablo_ismi ADD CONSTRAINT sınırlandırma_ismi CHECK (kosul) CHECK sınırlandırmasını silme ALTER TABLE tablo_ismi DROP CONSTRAINT  sınırlandırma_ismi;

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 UNION SELECT * 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 UNION ALL SELECT * 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 CREATE VIEW istanbullular AS SELECT * 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 ALTER VIEW istanbullular AS SELECT * FROM kisiler WHERE sehir= 'londra' ; VIEW silme DROP VIEW view_ismi; SqlQuery33_4.sql DROP VIEW 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 WHERE EXISTS ( SELECT * FROM kisiler WHERE id= 3 ); Alt

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 BETWEEN 2 AND 4 GROUP BY ulke HAVING COUNT (id)>= 2 ORDER BY count (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 GROUP BY ulke ORDER BY count (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 IS NOT NULL ;

SQL Ders19 - SELECT SUM

Resim
   SQL'de SUM operatörü belirli bir kolondaki satir değerlerinin toplanmasını sağlamaktadır. SELECT SUM(kolon_ismi) FROM tablo_ismi; SqlQuery19.sql SELECT SUM (MAAS) AS toplam FROM personeller;

SQL Ders18 - SELECT IN

Resim
    SQL'de IN operatörü çoklu OR operatörünü indirgemek için kullanılır. Birçok OR operatörü yerine tek bir IN operatörü ile aynı iş yapılmış olur. SELECT kolon_ismi FROM tablo_ismi WHERE kolon_ismi IN (deger1,deger2); SqlQuery18.sql SELECT * FROM personeller WHERE ID IN ( 1 , 3 , 5 );

SQL Ders17 - SELECT AS

Resim
   SQL'de AS operatörü tablo kolonuna geçici isim vermek için kullanılır. SELECT kolon_ismi AS gecici_isim FROM tablo_ismi; SqlQuery17.sql SELECT ID AS NO , AD AS ISIM, MAAS AS GEL İ R FROM personeller;

SQL Ders28 - LIKE

Resim
   SQL'de LIKE komutu WHERE koşuluyla birlikte belli bir patterne (desen) sahip veriyi aramak için kullanılır. % operatörü  0,1 veya daha çok karakter yerine geçer. _ operatörü 1 karakter yerine geçer. Örnek kullanımlar aşağıda belirtilmiştir. WHERE kolon_ismi LIKE  'e%' -> 'e' ile başlayanlar. WHERE kolon_ismi LIKE  '%e' -> 'e' ile bitenler. WHERE kolon_ismi LIKE  '%e%' -> 'e' içerenler. WHERE kolon_ismi LIKE  '%e_' ->  sondan 2. harfi 'e' olanlar. WHERE kolon_ismi LIKE  '_e_' -> 3 harfli olup ortadaki harfi 'e' olanlar. WHERE kolon_ismi LIKE  'e%e' -> 'e' ile başlayıp 'e' ile bitenler , SqlQuery28.sql SELECT * FROM personeller WHERE AD LIKE '%es%' ;