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

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.



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.