© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Slides:



Advertisements
Benzer bir sunumlar
T sql-diğer komutlar Metin Akbulut.
Advertisements

Tablo oluşturma İlk olarak tabloları oluşturmamız gerekli..
III.Oturum: SQL ile Verileri İşlemek
SQL Structured Query Language
SQL (Structured Query Language)
SQL (Structured Query Language)
SQL Structured Query Language (Yapısal sorgulama dili)
En ucuzundan en pahalısına doğru sıralanmış olarak “Cep Telefonları” kategorisindeki tüm ürünlerin isimleri “Spor” kategorisinde ürünleri listelenen “İstanbul”
SQL’e Giriş.
VERİ TABANI II- 4.HAFTA ALT SORGULAR Türetilmiş ve İLİntİlİ tablolar
SQL Komutlar 5 Sibel SOMYÜREK.
EkoPC Bilişim Ltd. Eğitim Hizmetleri
SQL Komutlar 4 Fahri YILMAZ.
Veritabanı Yönetim Sistemleri-I
VERİ TABANI ve YÖNETİMİ
Alt Sorgular Veritabanı 2.
Veri Tabanı Yönetim Sistemleri
Tek Tablo İçinde Sorgulamalar
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
T-SQL-2.Konu Akış Kontrolleri.
Veri Tabanı Yönetim Sistemleri
VeriTabanı Uygulama. Tabloları yaratmak için MySQL komutları.
BÖLÜM 6 SQL SERVER KOMUTLARI.
Tetikleyici. Nedir? Bir tablo üzerinde Ekleme silme ve güncellemeye bağlı olarak tetiklenip çalışan SQL kodlarıdır. Genel amacı veri bütünlüğünü korumaktır.
SQL (STRUCTURED QUERY LANGUAGE)
VTYS Öğr. Gör. Engin DUTAR
VIEW (BAKIŞ) OLUŞTURMA
VIEW lerle çalışmak 11.BÖLÜM.
ÖRNEKLER. musteri Id adi soyadi mus_satis Id barkod adet Urunlar barkod urun_adi kodu fiyati Stok_hareket tarih barkod gelen giden.
VERİTABANI ve YÖNETİMİ
SQL Dili ve MySQL Komutları
SQL’e Giriş ve SELECT Komutu
SQL SERVER 2008 Yücel YILDIRIM.
VeriTabanı Uygulama.
Veritabanı Yönetim Sistemleri-I
SQL Komutları (2) Uzm. Murat YAZICI.
SQL’ e Giriş Uzm. Murat YAZICI.
Bölüm 3: SQL.
SİSTEM VERİTABANLARI. Sistem veritabanlarını tanıma. Kendi Login’imizi oluşturma Neler İşleyeceğiz?
ADRESİNDEN ÖRNEK VERİ TABANLARINI İNDİRİNİZ
S ORGU / DML / DDL KOMUTLARı İbrahim Onur Sığırcı.
Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu.
Yapısal Sorgulama Dili SQL Hafta 7. TEKRARLI SATIRLARI ÖNLEMEK  DISTINCT komutu ile sorgu sonucunda birden fazla kayıt aynı verileri içeriyorsa tekrarlı.
View View’ler select ifadesi ile tanımlanmış sanal tablolardır. Temel amacı base tabloların içerisinden veri kümesi getirip ortaya çıkan sonucu sanal.
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı Arş. Gör. Pınar CİHAN.
 Stored Procedure kısaca SQL sorgularını isteğimize göre hazırlayıp kullanıma hazır veri tabanı nesnesine çeviren bir araçtır.  Stored Procedure, Türkçeye.
 Bazı Veri tabanları sadece 1 tablodan oluşmaz.  Bunun sebebi genellikle veri tekrarını önlemektir.  Bu şekilde oluşturulmuş veri tabanlarında, tablolardaki.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 2
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
VIEW lerle çalışmak 11.BÖLÜM.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
14.DERS Örnekler, Sorular BUKET DOĞAN.
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
DML ile veri ekleme, silme ve değiştirme
Sorgu / dml / ddl komutları
SQL (STRUCTURED QUERY LANGUAGE)
VERİ TABANI II- 4.HAFTA ALT SORGULAR Türetilmiş ve İLİntİlİ tablolar
Veri Tabanı Yönetim Sistemleri I
SQL Server - Stored Procedures
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-4-DML
Intersect Tablo1 Sno Ad Soyad 1 Ali Ak 2 Veli Kara 3 Can Mor Tablo2
Sunum transkripti:

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi HAFTA 4 © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

GEÇEN DERSLERDE NELER ÖĞRENDİK? Gruplama fonksiyonları JOIN türleri Join içinde group by kullanmak LIKE içinde operatörler TOP, TOP PERCENT, IN, BETWEEN…AND View kullanımı FULL OUTER JOIN:Bu seçenekte hem sağ hem de soldaki tablonun tüm satırları listelenir. Her iki tabloda da karşılığı olmayan satırlar null olarak döner. © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi HATIRLATMA ÖRNEK SELECT u.[KategoriID], [KategoriAdi] ,[UrunAdi], ([BirimFiyati]) FROM Urunler u INNER JOIN [Kategoriler] k ON k.[KategoriID]= u.[KategoriID] SELECT * FROM Urunler u,[Kategoriler] k WHERE k.[KategoriID]= u.[KategoriID] © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

HATIRLATMA JOIN VE GROUP BY Müşterilerin ID ve isim değerleri ile birlikte toplam satış değerlerinin gözükmesini sağlayan sorgu SELECT s.SatisID, s.MusteriId,m.MusteriAdi, SUM (BirimFiyati*Miktar) as Tutar FROM SatisDetaylari AS sd INNER JOIN Satislar as s ON sd.SatisID=s.SatisID INNER JOIN Musteriler AS m ON s.MusteriID=s.MusteriID GROUP BY s.SatisID ,s.MusteriID,m.MusteriAdi © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

HATIRLATMA IN KULLANIMINDA SORGU Berlin ve Londradaki müşterilerin Satış bilgilerini görüntüleyen sorguyu yazınız SELECT * FROM Satislar WHERE MusteriID IN (SELECT MusteriID FROM [Musteriler] WHERE Sehir IN ('Berlin','London')) © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi EXISTS İçteki sorgu en az bir kayıt döndürdüğünde dıştaki sorgu çalışır. EXIST ile içerdeki select sorgusu seçme yapmaz sadece değer dönüp dönmediğine bakar. Değer varsa True-Doğru, yoksa False-yanlış değeri döner. İç içe sorgu yapısından daha performaslı çalışır, çok fazla yük oluşturmaz. SELECT alanlar FROM tablo WHERE EXISTS (SELECT alanlar FROM tablo WHERE şart) © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi Ürünlerden en az bir kere satılmış olanları bulan sorgu: SELECT * FROM Urunler WHERE EXISTS (SELECT * FROM SatisDetaylari WHERE Urunler.UrunID = SatisDetaylari.UrunID) © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi Hiç siparis vermeyen müşterimi z var mıdır? SELECT * FROM Musteriler WHERE NOT EXISTS (SELECT * FROM Satislar WHERE Musteriler.MusteriID = Satislar.MusteriID) © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Tabloların kayıtlarının birleştirilmesi UNION Ave B gibi iki tabloda A+B’deki kayıtların ekrana getirilmesi demektir. Tekrar edenler varsa sadece bir kere yazar. Birleştirilen tabloların alan sayıları ve türlerinin aynı olması gerekir. UNION ALL: Ave B gibi iki tabloda A+B’deki kayıtların ekrana getirilmesi demektir. Tekrar ettiği kadar ekrana yazar. INTERSECT: Ave B gibi iki tabloda, A kesişim B’deki elemanların ekrana getirilmesi demektir. © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Personel ve Müşteri Birleştirme (SELECT Musteriler.MusteriAdi, Musteriler.MusteriUnvani from Musteriler UNION SELECT Personeller.Adi,Personeller.Unvan FROM Personeller) © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi Örnek (SELECT Musteriler.MusteriAdi, Musteriler.MusteriUnvani, 'Müşteri' as kim from Musteriler UNION SELECT Personeller.Adi,Personeller.Unvan, 'Personel' as Kim FROM Personeller) order by kim © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi ANY İç içe sorgularda, SOME, ANY deyimi ile dışarıdaki SELECT ifadesinin seçeceği kayıtlar karşılaştırma kriterine göre kullanılabilir ANY dışarıdaki SELECT ifadesi sonucunda çıkacak kayıtlar, içerideki SELECT ifadesi ile seçilen alan değerlerinden en az birine göre kıyası sağlıyorsa ( küçük,büyük, eşit, büyük eşit, küçük eşit) seçilir © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

ANY Kategori 5’deki herhangi bir üründen daha yüksek fiyata sahip olan ürünlere ait tüm bilgileri listeleyen SQL deyimi: SELECT * FROM Urunler WHERE BirimFiyati >any (SELECT (BirimFiyati) FROM Urunler WHERE KategoriID=5);

ALL ALL dışarıdaki SELECT ifadesi sonucunda çıkacak kayıtlar, içerideki SELECT ifadesi ile seçilen alan değerlerinden TÜMÜNE göre kıyası sağlıyorsa ( küçük,büyük, eşit, büyük eşit, küçük eşit) seçilir. Kategori 5’deki ürünlerin fiyatlarından(tümünün) daha yüksek fiyata sahip ürünleri bulun sorgu SELECT * FROM Urunler WHERE BirimFiyati >ALL (SELECT (BirimFiyati) FROM Urunler WHERE KategoriID=5);

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi INSERT Tabloya veri ekleme INSERT INTO Tablo ([Alan İsimleri]) VALUES(Değerler) INSERT INTO Urunler (UrunAdi, BirimFiyati) VALUES ('Reçel', 45) © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi INSERT SET IDENTITY_INSERT Urunler ON --Bir tablonun kimlik sütununa açık değerler eklenmesine izin verir. INSERT INTO Urunler (UrunID, UrunAdi, BirimFiyati) VALUES (100, ‘Ton Balık Konservesi', 13) SET IDENTITY_INSERT Personeller OFF INSERT INTO Personeller(Adi,SoyAdi, unvan, sehir,Ulke) values ('ahmet','mehmet','deneme','istanbul','Türkiye') © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi INSERT…SELECT Başka bir tablodan select ifadesi ile bilgi alıp tablomuza eklemek de mümkündür. SET IDENTITY_INSERT Personeller OFF INSERT INTO Personeller(SoyAdi, unvan, sehir,ulke) SELECT MusteriAdi,MusteriUnvani,Sehir,Ulke from Musteriler   © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi SELECT * INTO Bir tabloyu içindeki veriler ile birlikte kopyalar SELECT * INTO YeniTablo FROM table1(varolan tablo); SELECT * INTO Deneme_Mus FROM Musteriler © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

DELETE Bir tablonun satırlarını silmek için gerekli komut DELETE komutudur. Satır silme koşullu ya da koşulsuz olarak gerçekleştirilebilir. DELETE  FROM TabloAdi [WHERE Koşul ] DELETE FROM Urunler2 WHERE BirimFiyati>=100 DELETE FROM Urunler2

UPDATE Tabloda bulunan kayıt yada kayıtların değiştirilmesi için kullanılır. Değiştirilmesi istenen kolonların teker teker yazılıp değerlerin atanması gerekmekte. UPDATE TabloAdi SET (Kolonlar = Değerleri ,...)  [WHERE Kosul ] 

UPDATE UPDATE komutunu da koşullu ya da koşulsuz olarak kullanmak mümkündür UPDATE Urunler SET BirimFiyati=BirimFiyati*1.2

UPDATE UPDATE komutunu da koşullu ya da koşulsuz olarak kullanmak mümkündür UPDATE Urunler2 SET BirimFiyati=BirimFiyati*1.2 WHERE KategoriID=2

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi UPDATE Personeller SET Unvan=replace(Unvan, 'Sales Manager', 'Satis Yöneticisi'); UPDATE Personeller SET Unvan= ‘satis temsilcisi' where Unvan='Satis Yöneticisi'; © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi UYGULAMA ÖDEVİ Personeller tablosuna kendi bilgilerinizi ekleyen bir INSERT satırı yazınız Musteriler tablosunda her şehirdeki müşteri sayısını gösteren sorguyu yazınız. Northwind veritabanında her tedarikçinin id’sini, adını ve kaç adet ürün tedarik ettiğini gösteren sorguyu yazını. SELECT Tedarikciler.TedarikciID,[SirketAdi], COUNT(*)FROM Tedarikciler,Urunler WHERE Tedarikciler.TedarikciID=Urunler.TedarikciID group by Tedarikciler.TedarikciID ,[SirketAdi] Doğum tarihi alanını kullanarak her personelin yaşını hesaplayan SQL deyimini yazınız. Aşağıdaki SQL fonksiyolarının kullanımını açıklayanız ve birer örnek veriniz. GETDATE DATEADD SELECT SatisTarihi,DATEADD(day,30,SatisTarihi) AS OdemeGunu FROM Satislar DATEDIFF (tarihin hangi kısmı,başlangıç,bitiş) SELECT SatisTarihi,DATEDIFF (YEAR,SatisTarihi,GETDATE()) AS YIL_GEÇMİŞ CONVERT © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi CREATE TABLE [dbo].[Urunler2]( [UrunID] [int] IDENTITY(1,1) NOT NULL, [UrunAdi] [nvarchar](40) NOT NULL, [TedarikciID] [int] NULL, [KategoriID] [int] NULL, [BirimdekiMiktar] [nvarchar](20) NULL, [BirimFiyati] [money] NULL CONSTRAINT [DF_Urunler_BirimFiyati1] DEFAULT ((0)), [HedefStokDuzeyi] [smallint] NULL CONSTRAINT [DF_Urunler_HedefStokDuzeyi1] DEFAULT ((0)), [YeniSatis] [smallint] NULL CONSTRAINT [DF_Urunler_YeniSatis1] DEFAULT ((0)), [EnAzYenidenSatisMikatari] [smallint] NULL CONSTRAINT [DF_Urunler_EnAzYenidenSatisMikatari1] DEFAULT ((0)), [Sonlandi] [bit] NOT NULL DEFAULT ((0)) ) © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi INSERT INTO Urunler2( [UrunAdi] ,[TedarikciID] ,[KategoriID] ,[BirimdekiMiktar] ,[BirimFiyati] ) SELECT [UrunAdi] ,[BirimFiyati] FROM Urunler © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi