Transact etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Transact etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

15 Nisan 2012 Pazar

17. SQL Toplam Fonksiyonları

1-) AVG Fonksiyonu
  • Aritmetiksel ortalama (avarage) hesaplamak için kullanılır.  
  • Bu hesaplama sırasında boş (NULL) değerler işleme katılmaz.  
  • AVG fonksiyonu ile koşula bağlı olarak hesaplamalarda yaptırılabilir. 
Söz dizimi: AVG (<Sutun Adı>)

Örnek: Örneğimizde 1. kategorideki ürünlerimizin birim fiyatlarını biliyoruz. İstediğimiz bu kategorideki ürünlerimizin ortalamala birim fiyatları bulmak.
Sorgu:  SELECT AVG(UnitPrice) AS 'Ortalama Birim Fiyatı' FROM Products WHERE CategoryID=1


          2-) MAX Fonksiyonu
  • Tablo içinde, belirtilen sütun (alan) içindeki en büyük değeri bulur.  
  • MAX fonksiyonu, bir sütundaki en yüksek değeri verir. Boş (NULL) değerler işleme katılmaz. 
  • MAX fonksiyonu alfabetik sıralamadaki ilk metinsel ifadeyi de bulmamızı sağlar. 
Söz dizimi: MAX (<Sutun Adı>)

Örnek: Bu örneğimizde 1. kategorideki birim fiyatı en yüksek olan ürünümüzü buluyoruz.
Sorgu: SELECT MAX(UnitPrice) AS 'En Düşük Fiyat' FROM Products WHERE CategoryID=1 


3-) MIN Fonksiyonu
  • Tablo içinde belirtilen sütun (alan) içindeki en küçük değeri bulur. 
  • MIN fonksiyonu bir sütundaki kayıtlardanki en küçük değeri verir. Boş (NULL) değerler işleme katılmaz.  
  • MIN fonksiyonu alfabetik sıralamadaki son metinsel ifadeyi de bulmamızı sağlar.
Söz dizimi: MIN (<Sutun Adı>)

Örnek: Bu örneğimizde 1. kategorideki birim fiyatı en düşük olan ürünümüzü buluyoruz.
Sorgu: SELECT MIN(UnitPrice) AS 'En Yüksek Fiyat' FROM Products WHERE CategoryID=1


4-) SUM Fonksiyonu
  • Fonksiyonla belirtilen sütun ile ilişkili olarak toplama işlemini yapar. 
  • SUM fonksiyonu belirtilen sütundaki sayısal değerlerin bir toplamını geri döndürür. 
Söz dizimi: SUM (<Sutun Adı>) 

Örnek: Bu örneğimizde de 1.kategorideki ürünlerimizin toplam birim fiyatlarını buluyoruz.
Sorgu: SELECT SUM(UnitPrice) AS 'Toplam Fiyat' FROM Products WHERE CategoryID=1


       5-) COUNT Fonksiyonu

Ders-18'e geçebilirsiniz.

8 Nisan 2012 Pazar

15. SQL COUNT FONKSİYONLARI

  • Tablo içerisinde herhangi bir sayma işlemi gerçekleştirmek için COUNT fonksiyonu kullanılmaktadır.

Söz dizimi: SELECT COUNT(<sütun adı>) FROM <tablo adı>

1-) COUNT(*) KULLANIMI

  • COUNT fonksiyonu (*) ile kullanıldığında FROM ile belirtilen tablodaki toplam satır sayısını verir.
Örnek: Aşağıdaki örnekte Çalışanlar (Employees) tablosundaki kayıt sayısı listelenmiştir.

Sorgu: SELECT COUNT(*) AS [Kayıt Sayısı] FROM Employees


Not: AS Kullanımını bir sonraki dersimizde anlatacağım(Ders-16). Bilmeniz gereken AS ile Temp(geçici) sütun oluşturup adı 'Kayıt Sayısı' olsun diyoruz. AS kullanmadığımız takdirde sorgumuzu yaptığımızda sütun ismimiz 'No Column Name' olarak görünür.



Örnek: İkinci örneğimizde kriterleri arttıralım.Mesela Şehri('City') Londra olan çalışanlarımızın sayısını bilmek isteyelim.Bu durumda sorgumuz aşağıdaki gibidir.

Sorgu: SELECT COUNT(*) AS [Kayıt Sayısı] FROM Employees WHERE City='London'




2-) COUNT DISTINCT

  •  DISTINCT anahtar kelimesi COUNT ile birlikte kullanıldığında, belirtilen sütundaki benzersiz kayıtların sayısını verir.
Söz dizimi: SELECT COUNT(DISTINCT <sütun adı> FROM <tablo adı>

Örnek: Bu örneğimizde kaç farklı müşteriden sipariş aldığımızı bulacağımız sorgumuzu yazalım.

Sorgu: SELECT COUNT (DISTINCT CustomerID)FROM Orders



3-) COUNT (<Sütun Adı>)
  • COUNT fonksiyonu bir sütun adı ile birlikte kullanıldığında, o sütundaki boş (NULL) olmayan kayıtların sayısını verir.
Örnek: Bu örneğimizde SevkBölgesi (ShipRegion) değeri 'Null' olmayan Siparişleri (Orders) sorguluyoruz. Dikkat etmemiz gereken 2.sorgumuzun özelliği SevkBölgesi Boş olmayan Siparişleri sorgulamış olmamız.

Sorgu: SELECT COUNT (ShipRegion) AS [SevkBölgesi] FROM Orders 

Ders 16'ya geçebilirsiniz.



14. SQL de Matematiksel ve Metinsel işlemler

  • Tablolardaki alanları kullanarak daha etkili ve kesin sonuça dönük sorgular yapmak için SQL deki matematiksel ve metinsel ifadeleri kullanabiliriz.
  • SQL matematiksel işlemlerin sonucunu otomatik olarak üretmeyi sağlayan fonksiyonlara sahiptir.

(Örneğimizde Birim fiyat (UnitPrice) alanı Miktar(Quantity) alanı ile çarpılarak toplam fiyat hesaplanmış ve “TotalCost” adı ile yeni bir alan olarak görüntülenmiştir.)

Sorgu: SELECT OrderID, ProductID,(UnitPrice * Quantity) AS TotalCost
            FROM [Order Details]
           WHERE (UnitPrice * Quantity) > 10000


Ders 15 'e geçebilirsiniz.

25 Mart 2012 Pazar

11. NULL Değerler

  • Veri girişi esnasında, alana herhangi bir değer yazılmazsa ve alan için herhangi bir varsayılan (default) değer atanmamışsa alanda boş (null) değeri saklanır.  
  • Null değeri boşluk (‘ ‘) veya sıfır (0) değerinden farklıdır. 
  • Belirli bir alanına hiçbir değer girilmemiş kayıtları listelemek için IS NULL arama kriteri kullanılır. 
  • Bir tablodaki hangi alanların varsayılan değerleri olacağına veya alanın NULL değere izin verip vermediğine, tablo tasarımı sırasında karar verilir. 
  • Eğer boş olmayan satırları listelemek gerektiğinde IS NOT NULL arama kriterini kullanılır. 
(Örneğimizde fax numaraları girilmemiş ve default değer atanmamış firmaları sorgulayalım.)

Sorgu:  SELECT CompanyName,City,Fax FROM Suppliers WHERE Fax IS NULL





(Fax numaraları girilmiş firmaları sorgulayalım.)

Sorgu: SELECT CompanyName,City,Fax FROM Suppliers WHERE Fax IS NOT NULL




Ders-12' ye geçebilirsiniz.

3 Mart 2012 Cumartesi

3. Transact-SQL

  • SQL, düzeltilmesi veya değiştirilmesi istenen bilgileri açıkça belirtmeye izin veren ve yerine getirilebilecek başlıca işlemleri tanımlamamızı sağlayan bir komut takımıdır. 
  • Bu komutların oluşturduğu yapıya Transact-SQL dili denir.                                                    
  • T-SQL ile döngü veya mantıksal işlemler yapmak için bir derleyiciye gerek yoktur.
  • T-SQL ifadelerini çalıştırabilmek için bir Management Studio ile SQL Server’a
    erişmeniz gerekir.
  • Microsoft'un veri tabanı sorgulama dilidir. Transact-SQL, SQL Server ve istemci
    (client) arasında iletişimi sağlayan SQL sorgulama dilinin gelişmiş bir versiyonudur.
  • Transact-SQL ile veri ve sorgulara erişebilir, güncelleyebilir ve ilişkisel veritabanı sistemini yönetebilirsiniz.  
  • Transact –SQL komutları kullanım amaçlarına göre üç genel kategoriye ayrılır.


SQL Veri İşleme Dili (Data Manipulation Language-DML)

            SQL Veri İşleme Dili veri girmek, değiştirmek, silmek ve verileri almak için kullanılan DML komutlarının tümüdür. En sık kullanılan DML komutları ve kullanım amaçları aşağıdaki gibidir.

SELECT       : Veri seçmek
  •  SELECT adi,soyadi FROM ogrenci WHERE ogrencino='231455'
(ogrenci tablosundaki ogrencino'su 231455 olan öğrencinin adi ve soyadi'ni gösterir.)

DELETE       : Veri silmek
  •  DELETE FROM ilce WHERE il='izmir'
(ilce tablosundaki il değeri izmir olan bütün veriler silinir.)

UPDATE      : Veri güncellemek

  • UPDATE  ogrenci SET not='65' WHERE ogrencino='346212'
(ogrenci tablosundaki '346212' nolu öğrencinin not'unu '65 ' olarak günceller.)

INSERT       : Veri girmek
  • INSERT INTO ogrenci VALUES ('ali','atasoy','55')
(ogrenci tablomuza yeni veriler ekler.)    

SQL Veri Tanımlama Dili (Data Definition Language-DDL)

SQL Veri Tanımlama Dili verilerin tutulduğu nesneler olan tabloların yaratılmasını, silinmesini ve bazı temel özelliklerinin düzenlenmesini sağlar. En sık kullanılan bazı DDL komutları ve kullanım amaçları aşağıdaki gibidir.

CREATE TABLE        : Yeni bir tablo yaratmak.

ALTER TABLE           : Tabloda değişiklik yapma,Yeni bir sütun eklemek, sütunun tipini veya uzunluğunu değiştirmek vb. yapısal değişiklikler yapılması için kullanılır.

DROP TABLE             : Tabloyu fiziksel olarak siler.

TRUNCATE TABLE   : Tablodaki verileri siler fakat tablo yapısı kalır.

CREATE VIEW           :Görüntü oluşturmak için kullanılır.

DROP VIEW               :Görüntüyü siler.

CREATE INDEX        : Tabloda dizin oluşturmak.Tablonun (en azından bir) sütun adı üzerinde indeks oluşturmak için kullanılır.


SQL Veri Kontrol Dili (Data Control Language-DCL)

SQL Veri Kontrol Dili bir veritabanı kullanıcısı veya rolü ile ilgili izinlerin düzenlenmesini sağlar. Aşağıdaki tablo DCL komutlarını ve fonksiyonlarını göstermektedir.
DCL komutlarını kullanabilmek için SQL Server'da varsayılan değer (default) olarak yetki sahibi olan gruplar: sysadmin , dbcreator , db_owner , db_securityadmin 'dir.

GRANT          :Kullanıcıya yetki vererek verileri kullanmasını ve T-SQL komutlarını çalıştırmasına izin verir.

DENY             :Kullanıcı, grup veya rolü herhangi bir eylem için engeller.

REVOKE        :Daha atanmış olan yetki veya engeli kaldırır.

NOT:Sunucuya dışarıdan bir erişim sağlamak için bir giriş (login) oluşturulmalıdır.

CREATE LOGIN Ali WITH PASSWORD =’123456’
Bu rol ile veri tabanına bir kullanıcı olarak erişim için aşağıdaki satırlar yazılmalıdır:
CREATE USER Ali
FOR LOGIN Ali
Eğer User adı ile Login adı aynı ise FOR LOGIN satırına gerek kalmaz.
Veri tabanında uygulama rolü oluşturulması için de aşağıdaki satırlar kullanılabilir:
CREATE APPLICATION ROLE Lab1
WITH PASSWORD = ‘sifre’
, DEFAULT_SCHEMA=Lab1;
 

Not: Komutları büyük harflerle yazmanız sizin için hem daha kolay anlaşılır hemde daha kolay yönetilebilirlik sağlayacak.

Ders-4 'e geçebilirsiniz.