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

20 Nisan 2012 Cuma

19. WITH TIES Kullanımı

  • WITH TIES yantümcesi, ORDER BY ile sıralanan sonuç kümesinde son kayıt ile aynı değerde olan kayıtların da listelenmesini sağlar. 
  • Bu durumda sonuç kümeniz belirtiğiniz n sayısından daha fazla olabilir.
  •  WITH TIES yantümcesini sadece ORDER BY yantümcesi ile kullanabilirsiniz.
(İki sorgumuzu dikkatlice inceleyelim ve sonuçlarına bakalım. Resimde daha ayrıntılı görebilirsiniz.) 

Örnek: Normal TOP n ile çalıştırdığımız sorgularımızı eğer WITH TIES ile çalıştırırsak n den farklı sonuç listesi görebiliriz. Burda önemli nokta sıraladığımız yani ORDER BY ile istediğimiz quantity(adet) kısmıdır. Bu durumun anlamı ilk 5 değeri listeledikten sonra en son satıra ait quantity değeri daha varsa onlarıda getirmesidir. İlk sorguda 5 sonuçtan sonuncusunda quantity değerinin 120 olduğunu görmekteyiz. WITH TIES kullanılan sorguda quantity değeri 120 olan bütün değerlerin getirilmesini sağladık.  

Sorgu: SELECT TOP 5 WITH TIES orderid, productid, quantity
                                       FROM [order details] ORDER BY quantity DESC


Ders 20'ye Geçebilirsiniz.

 

17 Mart 2012 Cumartesi

10. IN Kullanımı


  • IN sözcüğünü bir listedeki elemanlardan herhangi biriyle eşleşen satırları görüntülemek için kullanırız. 
  • NOT IN arama kriterini ise listede olmayan değerleri aramak için kullanırız. 
  • NOT koşul bildirimi diğer arama koşullarına göre biraz daha yavaş çalışır. 
  • Performans açısından çok sık kullanılması tavsiye edilmez. 
  • IN ile elde ettiğimiz sonuçları OR kullanarakta elde edebiliriz.
Söz dizimi:     SELECT <sütun adı> FROM <tablo adı>
                        WHERE <sütun adı> IN('değer1','değer2',.....)
(Bütün Müşteriler içinde 'VINET' ve 'FOLKO' isimli müşterilerin tekliflerini listeleyelim;)
Sorgu: SELECT * FROM Orders WHERE CustomerID IN ('VINET','FOLKO')
  

Northwind veritabanımız dışında bir örnek vermek gerekirse daha açıklayıcı olması açısından;
Sorgu: SELECT * FROM Ogrenci WHERE Bolum IN ('Bilgisayar','Elektronik','Elektrik') 
(Belirli 'Bolum' lerde okuyan öğrenci bilgilerine ulaşabiliriz.) 

Ders-11' e 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. 

19 Şubat 2012 Pazar

1. SQL Hakkında Genel Bilgiler

SQL Nedir Kısaca...
  • SQL, ingilizce açık adıyla "Structured Query Language" (Yapılandırılmış Sorgulama Dili) bir veritabanı sorgu dilidir.
  • SQL ile veritabanına yeni tablolar, yeni kayıtlar ekleyip, silebilir, var olanlar üzerinde düzenlemeler ve sorgular yapabilirsiniz.
  • SQL herhangi bir veri tabanı ortamında kullanılan bir alt dildir. 
  • SQL ile Oracle, db2, Sybase, Informix, Microsoft SQL Server, MS Access gibi veritabanı yönetim sistemlerinde çalışabilirsiniz. 
  • SQL, standard bir veritabanı sorgu dilidir, bütün gelişmiş veritabanı uygulamalarında kullanılır.


Not:Bu Blogda temelden Sql öğrenmeye başlayabilirsiniz.

Ders-2'ye Geçebilirsiniz.