SQL’e Giriş ve SELECT Komutu VTYS üzerinde tüm işlemler SQL dilinde yazılan komutlar ile halledilir SQL (Structured Query Language – Yapısal Sorgulama Dili) SQL komutları tüm VTYS yazılımları tarafından desteklenir Bu komutlar temelde iki kategoriye ayrılır DDL (Data Definition Language) komutları DML (Data Manipulation Language) komutları
SQL’e Giriş ve SELECT Komutu DDL Komutları Tablo, VT, index, anahtar oluşturma ve buna benzer yapısal değişiklik yapmak ile ilgili komutlardır Örneğin CREATE TABLE, CREATE DATABASE, ALTER DATABASE v.b. Komutlar CREATE – ALTER – DROP DML Komutları Veri işlemek için kullanılan komutlarıdır Örneğin kayıt Seçme, Ekleme, Listeleme ve Silme SELECT – INSERT – UPDATE – DELETE (Diğer adıyla CRUD – CReate Update Delete)
SQL’e Giriş ve SELECT Komutu DML Komutlarının en sık kullanılanı ve ilki SELECT komutudur. Tablo veya tablolardan veri/satır seçmek için kullanılır SELECT sütun adları veya * FROM tablo1, tablo2, tablo3,… WHERE kriterler ORDER BY sıralama şartı
SQL’e Giriş ve SELECT Komutu SELECT komutunu en basit haliyle SELECT… FROM şeklinde kullanabilirken, diğer tüm kombinasyonlar da geçerlidir (Ama farklı sonuçlar üretir) SELECT must_ad, must_sehir FROM musteriler SELECT must_ad, must_sehir FROM musteriler WHERE must_ulke = ‘Türkiye’ SELECT must_ad, must_sehir FROM musteriler ORDER BY must_ad SELECT must_ad, must_sehir FROM musteriler WHERE must_ulke = ‘Türkiye’ ORDER BY must_ad
SQL’e Giriş ve SELECT Komutu Örnek tablolarımız saticilar tablosu urunler tablosu
SQL’e Giriş ve SELECT Komutu İlk SQL ifademiz (tüm satırları ve sütunları listelemek) * Tablodaki tüm sutunları getir WHERE ifadesi yok; demek ki tüm satırlar isteniyor. (WHERE filtreleme demektir) Çalıştırılan SQL sorgusu Sorgu sonucu dönen sonuç
SQL’e Giriş ve SELECT Komutu İkinci SQL ifademiz Tablodaki belli sütunları ve tüm satırlar getiriliyor Tablodaki sütun sırasının sorgu sırasında değiştirilebilir olduğuna dikkat edin
SQL’e Giriş ve SELECT Komutu Satıcıların sadece ülkelerinin listelenmesi Satıcılar tablosundaki satır sayısı kadar sonuç geldi
SQL’e Giriş ve SELECT Komutu Satıcıların sadece ülkelerinin listelenmesi Satıcılar tablosundaki satır sayısı kadar sonuç geldi
SQL’e Giriş ve SELECT Komutu Satıcıların sadece ülkelerinin listelenirken AYNI ZAMANDA SIRALAMAK İSTERSEK: Ülkeler alfabetik olarak sıralandı ve küçükten büyüğe (A-Z) sırasında getirildi
SQL’e Giriş ve SELECT Komutu ORDER BY komutu Satırların sıralamasını değiştirmek için kullanılır ORDER BY sütun adı ASC | DESC | Boş formatında SELECT komutunun en sonunda yazılır Sütun adından sonra ASC yazılırsa veya hiçbir şey yazılmazsa, sıralama küçükten büyüğe (sayılar için 0-9, alfabetik ifadeler için A-Z sırası) sıralanır. DESC yazılırsa tam ters yönde sıralanır
SQL’e Giriş ve SELECT Komutu Aynı listeyi TERSTEN sıralamak istersek (Yani büyükten küçüğe azalan sırada) Ülkeler alfabetik olarak sıralandı ve büyükten küçüğe (Z-A) sırasında getirildi
SQL’e Giriş ve SELECT Komutu Bazen tek sütuna göre sıralamak yetmeyebilir, satırlarda tekrarlar bulunabilir. Böyle durumlarda iki veya daha fazla sütunu da sıralamaya dahil edebiliriz Satırları Önce ülkeye göre, ülkesi aynı olanları da sonra şehre göre kendi içinde sıraladık
SQL’e Giriş ve SELECT Komutu Bazen tek sütuna göre sıralamak yetmeyebilir, satırlarda tekrarlar bulunabilir. Böyle durumlarda iki veya daha fazla sütunu da sıralamaya dahil edebiliriz Satırları Önce ülkeye göre, ülkesi aynı olanları da sonra şehre göre kendi içinde sıraladık
SQL’e Giriş ve SELECT Komutu Tüm satırları seçmek yerine belli şartları sağlayan satırları almak isteyebiliriz. Bu durumda WHERE ifadesi ile şart (lar) yazılarak filtrelemek yapılır WHERE ile şunlar elde edilebilir: -fiyatı 3 olan ürünün adı -a ile başlayan ürünlerin fiyatı -memleketi ankara olan müşterilerin adı en pahalı ürünün adı V.b.
SQL’e Giriş ve SELECT Komutu WHERE şart yazım örnekleri where urun_fiyat =10 where siparis_no= 5 where sip_num=20009 (metinsel eşitliklerde tek tırnak kullanılır) where must_sehir=‘gaziantep’ where urun_id=‘DLL01’ where satici_id=‘BNG02’
SQL’e Giriş ve SELECT Komutu WHERE ile birlikte kullanılan filtreleme seçenekleri şunlardır = Eşitlik : fiyatı 3 olan gibi <> veya != Eşit değil : sipariş sayısı 5 olmayan < Daha küçük : fiyatı 5 ten az olan > Daha büyük : fiyatı 3.99 dan fazla olan <= Küçük ve eşit >= Büyük ve eşit between İki değer arasında : 5 ile 10 arasında gibi is null Değer girilmemiş , NULL olan
SQL’e Giriş ve SELECT Komutu Fiyatı 5’den fazla olan ürünlerin adlarını ve fiyatlarını fiyata göre artan sırada listeleyiniz
SQL’e Giriş ve SELECT Komutu Satıcı ID değeri BRS01 olan ürünlerin adını, fiyatını ve satıcı id değerini listeleyiniz
SQL’e Giriş ve SELECT Komutu Satıcı ID değeri BRS01 OLMAYAN ürünlerin adını, fiyatını ve satıcı id değerini listeleyiniz
SQL’e Giriş ve SELECT Komutu Birden fazla şart AND ve OR gibi mantıksal operatörlerle birleştirilerek yazılabilir. Ör: fiyatı 4’den büyük VE satıcı id’si DLL01 olan ürünler WHERE urun_fiyat > 4 AND satici_id = ‘DLL01’ Ör: Ülkesi İngiltere VEYA Fransa olan satıcılar WHERE satici_ulke = ‘İngiltere’ OR satici_ulke = ‘Fransa’
SQL’e Giriş ve SELECT Komutu BRS01 kodlu satıcıya ait, fiyatı 4’den büyük ürünlerin fiyata göre sıralanarak listelenmesi
SQL’e Giriş ve SELECT Komutu LIKE kıyaslama operatörü Metinler içinde arama yaparken kullanılan bir kıyaslama aracıdır. ‘%’ ve ‘_’ gibi özel karakterleri kullanarak yazılan bir desenin/arama metninin satırdaki verilere uygunluğuna bakar Örneğin: WHERE urun_ad LIKE ‘%ayı%’ ifadesi ürünn adının herhangi bir yerinde ayı ifadesi geçen kayıtları getirir
SQL’e Giriş ve SELECT Komutu WHERE urun_ad LIKE ‘%ayı%’ Adının herhangi bir yerinde ayı ifadesi geçen ürünleri seçer WHERE urun_ad LIKE ‘ayı%’ Adının başında ayı ifadesi geçen ürünleri seçer WHERE urun_ad LIKE ‘%ayı’ Adının sonunda ayı ifadesi geçen ürünleri seçer
SQL’e Giriş ve SELECT Komutu BRS01 kodlu satıcıya ait ve ürün adında “a” harfi geçen ürünleri adına göre tersten listeleyen sorgu
SQL’e Giriş ve SELECT Komutu Birbirinden farklı satırları veya kayıtları almak için DISTINCT veya GROUP BY ifadesi kullanılır Örneğin aşağıdaki sorgu bize satıcılar tablosundaki tüm ülke isimlerini vermekte ama satırlardaki tekrarlara dikkat etmeden satırda ne varsa getirmektedir. SELECT must_ulke FROM musteriler
SQL’e Giriş ve SELECT Komutu İki sorgudan herhangi birisi SELECT DISTINCT must_ulke FROM musteriler SELECT must_ulke FROM musteriler GROUP BY must_ulke SELECT must_ulke FROM musteriler
SQL’e Giriş ve SELECT Komutu Fiyatı 3 ve 8 arasında ürünleri olan birbirinden farklı satıcıların id’lerini listeleyiniz