16
SQL Komutları (2) Uzm. Murat YAZICI

SQL Komutları (2)

Embed Size (px)

DESCRIPTION

SQL Komutları (2). Uzm. Murat YAZICI. Sıralama. Sıralama işlemi için SELECT ifadesinde ORDER BY kullanılır. Bu ifadede ASC kelimesi kullanılırsa sıralama küçükten büyüğe doğru (A-Z) , DESC kullanılırsa büyükten küçüğe doğru (Z-A) yapılır. - PowerPoint PPT Presentation

Citation preview

Page 1: SQL Komutları (2)

SQL Komutları (2)Uzm. Murat YAZICI

Page 2: SQL Komutları (2)

Sıralama

Sıralama işlemi için SELECT ifadesinde ORDER BY kullanılır.

Bu ifadede ASC kelimesi kullanılırsa sıralama küçükten büyüğe doğru (A-Z) , DESC kullanılırsa büyükten küçüğe doğru (Z-A) yapılır.

Not: Her ikisi de kullanılmazsa sıralama küçükten büyüğe doğru yapılır.

Page 3: SQL Komutları (2)

ORDER BY

Örneğin;

Öğrenciyi numarasına göre sıralayan SQL ifadesi :

Öğrencileri ortalamasına göre (büyükten küçüğe) sıralamak için :

Select * from ogrenci Order By ogrnoSelect * from ogrenci Order By ogrno

Select * from ogrenci Order By ogrno ASC Select * from ogrenci Order By ogrno ASC

Select ogrno, ad, soyad from ogrenci Order By ortalama DESC Select ogrno, ad, soyad from ogrenci Order By ortalama DESC

Page 4: SQL Komutları (2)

ORDER BY

Örneğin;

Öğrencileri ad ve soyada göre sıralamak için [A-Z]:

Sadece ada göre sıralamak isteseydik [A-Z]:Select * from ogrenci Order By adSelect * from ogrenci Order By ad

Select * from ogrenci Order By ad, soyad ASC Select * from ogrenci Order By ad, soyad ASC

Page 5: SQL Komutları (2)

Fonksiyonlar

AVG Fonksiyonu

Herhangi bir sütunun sayısal değerlerinin aritmetik ortalamasını bulmak için kullanılır.

Örnek, Öğrencilerin yaş ortalamasını bulmak için,

- Personel tablosunda görevi ‘Memur’ olanların ortalama maaşını hesaplamak için,

Select AVG(yas) from ogrenciSelect AVG(yas) from ogrenci

Select AVG(maas) from personel where gorev='Memur'Select AVG(maas) from personel where gorev='Memur'

Page 6: SQL Komutları (2)

Fonksiyonlar

SUM Fonksiyonu

Herhangi bir sütunun sayısal değerlerinin toplamını bulur.

Örnek, Kitap fiyatlarının toplamını veren sorgu,

- Fiyatları farklı olan kitapların fiyatları toplamını bulmak için,

Select SUM(fiyat) from kitapSelect SUM(fiyat) from kitap

Select SUM(distinct fiyat) from kitapSelect SUM(distinct fiyat) from kitap

Page 7: SQL Komutları (2)

Fonksiyonlar

MAX ve MIN Fonksiyonları

Herhangi bir sütunun içerdiği değerlerin en büyük (MAX) ve en küçük (MIN) olanlarını bulmak için kullanılır.

Örnek, En yüksek ortalama değerini bulmak için,

- Fizik bölümünde okuyan öğrencilerden en düşük olanının ortalaması için,

Select MAX(ortalama) from ogrenciSelect MAX(ortalama) from ogrenci

Select MIN(ortalama) from ogrenci where bolum='Fizik'Select MIN(ortalama) from ogrenci where bolum='Fizik'

Page 8: SQL Komutları (2)

Fonksiyonlar

COUNT Fonksiyonu

Bir tablodaki kayıtların sayılması amacı ile bu fonksiyon kullanılır.

COUNT(*) : Bu fonksiyon NULL değerleri de göz önüne alarak tüm kayıtların sayılmasını sağlar.

COUNT(sütunAdı) : Fonksiyon bu tarzda kullanılırsa belirtilen sütunda NULL değerler içermeyen tüm kayıtların sayılmasını sağlar.

Page 9: SQL Komutları (2)

Fonksiyonlar

COUNT Fonksiyonu

Örnek, Öğrenci tablosunda kaç kayıt bulunduğunu bulan SQL ifadesi,

- Bilgisayar bölümünde okuyup 3.0’ ın üzerinde ortalamaya sahip öğrenci sayısını bulmak için,

Select COUNT(*) from ogrenciSelect COUNT(*) from ogrenci

Select COUNT(*) from ogrenciWhere bolum='Bilgisayar' and ortalama>=3.0Select COUNT(*) from ogrenciWhere bolum='Bilgisayar' and ortalama>=3.0

Page 10: SQL Komutları (2)

Veri Ekleme, Güncelleme ve Silme

SELECT deyimi ile yapılan işlemler sorgulama işlemleridir. Bu sorgulamalar tablo üzerinde herhangi bir değişikliğe yol açmazlar.

Eğer bir tabloya yeni bir kayıt eklenmesi, var olan satırların güncellenmesi ya da silinmesi isteniyorsa SELECT deyimi ile bu gerçeklenmez.

Bunlar için INSERT, UPDATE ve DELETE deyimleri kullanılır.

Page 11: SQL Komutları (2)

Tablodaki Verileri Güncelleme

UPDATE SQL deyimiyle gerçekleştirilir.

UPDATE tablo SET sütun1=değer1, sütun2=değer2,… WHERE şart

Örneğin; Personel tablosunda maaşları 1000 ile 1500 arasında olan çalışanların maaşlarını 2000 yapan SQL ifadesi,UPDATE personel SET maas=2000WHERE maas BETWEEN 1000 AND 1500

UPDATE personel SET maas=2000WHERE maas BETWEEN 1000 AND 1500

Page 12: SQL Komutları (2)

Tablodaki Verileri Güncelleme

Örneğin; Tüm personelin maaşlarına %10 zam yapan SQL ifadesi,

Örneğin; Görevi 'Şef' olan personellerin görevini 'Müdür' olarak değiştiren SQL ifadesi,

UPDATE personel SET maas=maas*1.1UPDATE personel SET maas=maas*1.1

UPDATE personel SET gorev='Müdür'WHERE gorev='Şef'UPDATE personel SET gorev='Müdür'WHERE gorev='Şef'

Page 13: SQL Komutları (2)

Tablodan Satır Silmek

DELETE SQL deyimiyle gerçekleştirilir.

DELETE FROM tablo WHERE şart

Örneğin; Öğrenci tablosunda eposta adresi boş (NULL) olan kayıtları silmek için,DELETE FROM ogrenci WHERE eposta IS NULLDELETE FROM ogrenci WHERE eposta IS NULL

Page 14: SQL Komutları (2)

Veri Tanımlama Dili (DDL)

Veritabanında nesneler oluşturmak için gerekli olan ifadeleri sağlamaktadır. Bu ifadeler, veritabanı veya tablo gibi yeni bir nesnenin oluşturulması, var olan nesne üzerinde değişiklikler yapılması veya nesnenin yok edilmesi için kullanılır.

SQL dilinde 3 adet veri tanımlama ifadesi bulunmaktadır.

Bunlar: CREATE, ALTER ve DROP ifadeleridir.

Page 15: SQL Komutları (2)

Veri Tanımlama Dili (DDL)

CREATE : Veritabanı ya da tablo oluşturmak için kullanılır.

ALTER : Var olan bir nesne üzerinde değişiklikler yapmak için kullanılır.

DROP : Veritabanındaki herhangi bir nesneyi kaldırmak için kullanılır.

CREATE DATABASE universiteCREATE DATABASE universite

ALTER TABLE personel ADD eposta VARCHAR(40) NULL ALTER TABLE personel ADD eposta VARCHAR(40) NULL

DROP TABLE derslerDROP TABLE dersler

Page 16: SQL Komutları (2)

SQL’ de Gruplama

Bir tablonun satırları gruplara ayrılarak fonksiyonların bunlara uygulanması mümkündür. Gruplara ayırmak için SELECT deyimi içerisinde GROUP BY deyimi kullanılır.

Örneğin: Personel tablosunda her bölümde çalışanların ortalama maaşını hesaplamak için :

SELECT bolum, AVG(maas) FROM personel GROUP BY bolum SELECT bolum, AVG(maas) FROM personel GROUP BY bolum