SQL (Structured Query Language)



Benzer belgeler
BMB202. Veritabanı Yönetimi Ders 5. İlişkisel Cebir ve SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

SQL (Structured Query Language)

Çok tablolu sorgulamalar

Veritabanı. SQL (Structured Query Language)

SQL'e Giriş. SELECT Deyimi. SQL Komutları. 1. DDL (Data Definition Language - Veri Tanımlama Dili)

BMB202. Veritabanı Yönetimi Ders 6. SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Veri Tabanı Tasarım ve Yönetimi

SQL e Giriş. Uzm. Murat YAZICI

VERİTABANI. SQL (Structured Query Language)

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

VERİTABANI Veritabanı Sorgulama

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Birden Çok Tabloda Sorgulama (Join)

Veri Tabanı Yönetim Sistemleri Bölüm - 4

Oracle Database 11g: Introduction to SQL

VERİ TABANI YÖNETİM SİSTEMLERİ

VERİ TABANI YÖNETİM SİSTEMLERİ I

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

SQL Query and Table Application

Basit SQL Sorguları Veritabanından verilerin SELECT cümleleri ile alınması işlemine sorgulama denir.

5 Sorgulama İşlemleri. Veritabanı 1

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

SORGULAR. Öğr.Gör.Volkan Altıntaş

SQL Kod ile Tablo Oluşturma

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

VERİTABANI ve YÖNETİMİ

Veri Tabanı Hafta Dersi

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

Veritabanı Yönetim Sistemleri

Bilgisayar Uygulamaları. MySql

Veri Tabanı Yönetim Sistemleri Bölüm - 5

Bölüm 4: DDL Veri Tanımlama Dili

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

Nesneler üzerinde değişiklik yapmak için kullanılır. Veri tabanındaki nesnelerin oluşturulabilmesi için CREATE komutu kullanılır.

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

Veri Tabanı II Alt Sorgular

VERİTABANI Veritabanı Yönetimi

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL-2

5 Sorgulama İşlemleri. Veritabanı 1

İNTERNET TABANLI PROGRAMLAMA- 12.ders

VERİ TABANI YÖNETİM SİSTEMLERİ

VERİ TABANI YÖNETİM SİSTEMLERİ I

SQL Komutları (2) Uzm. Murat YAZICI

Lıke Joker Karakterler, Is [not] Null, Order By, Group By, As

BTP203 VERİTABANI YÖNETİM SİSTEMLERİ

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com

VERİ TABANI YÖNETİM SİSTEMLERİ I

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

Veri Tabanı Hafta Dersi

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

VERİ TABANI YÖNETİMİ Hafta1

Veri Tabanı Yönetim Sistemleri Bölüm - 7

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.

Bölüm 3: DML Veri İşleme Dili

Veritabanı Tasarımı. Kartezyen Çarpım ve Join İşlemleri

SORGULAR VE ÇEŞİTLERİ II

8 Aralık 2011 / Perşembe. Veri Tabanına Giriş

Like Joker Karakterler, Order By, Group By

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

SQL DİĞER Deyimler ve Komutlar

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri Kısıtlamalar (Constraints)

BİL Bilişim Teknolojileri. Access

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

VERİ TABANI YÖNETİM SİSTEMLERİ II. 7. FORMLAR ve ACCESS PROGRAMINDA FORM OLUŞTURMA

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

2 Temel Kavramlar (Devam) Veritabanı 1

Veritabanı Tasarımı. Tablo Oluşturma

Durhan GABRALI Veritabanı Organizasyonu Dersi (11B)

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

Veritabanı Tasarımı. SQL Deyimi Anatomisi

Veritabanı Tasarımı. Sütunlar, Karakterler ve Satırlar ile Çalışma

T.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

IN ve NOT IN Tablodaki alan içeriklerine ulaşmak için IN deyimi kullanılır.

İşletim Sistemi. İşletim Sistemi

Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş

Model: Soyutlama. Kavramsallaştırma (Genelleme) (Spesifikleştirme) Özelleştirme. Veri (Data) Yapı (Structure)

1. Hafta MS SQL Server 2008 Kurulum ve Tanıtımı BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: Kurulum:

VeriTabanı Uygulamaları

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

İNTERNET PROGRAMCILIĞI HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme

13 Aralık Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz

SQL (Structured Query Language) kendisi bir programlama dili olmamasına rağmen bir çok kişi tarafından programlama dili olarak bilinir.

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

Veritabanı ve Yönetim Sistemleri

10 Birden Fazla Tablo Üzerinde Sorgulama

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL

Veri Tabanı-I 1.Hafta

Veri Tabanı Programlamaya Giriş

Veritabanı Tasarımı. Veritabanı Hareketleri

Veritabanı Tasarımı. Tablo Değiştirme

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

Veri Tabanı Hafta Dersi

İleri Seviye Select Cümlecikleri

Transkript:

SQL (Structured Query Language)

Genel SQL SQL çok yüksek seviyeli bir dildir. Biraz ingilizce bilgisi gerektirir. Programlama dillerine göre öğrenilmesi çok daha kolaydır. Çünkü programlama dillerindeki gibi işlemin nasıl yapılacağı değil, işlemde ne yapılacağı yazılır. Birçok VTYS (Veri Tabanı Yönetim Sistemleri), yazılan sorguları en iyi şekilde işlemek için sorgu en-iyileştirme (query optimization) mekanizmaları kullanır.

DML, DDL ve DCL Sorgulama için sadece SELECT komutu kullanılsa da; SQL içinde başka komutlar da yer alır. Bu komutlar işlevlerine göre sınıflandırılmış ve başka alt-diller oluşturulmuştur: DML (Data Manipulation Language): Tablolara veri girme, var olan veriyi güncelleme ve veri silme işlemleri için kullanılan komutları içerir. DDL (Data Definition Language): Tablo, Kullanıcı gibi nesneleri yaratmak için kullanılan komutları içerir. DCL (Data Control Language): Kullanıcılara çeşitli yetkiler verme, yetkileri geri alma gibi işlemleri gerçekleştirmek için kullanılan komutları içerir.

Örneklerde kullanılan Personel Bilgileri Veri Tabanı PERSONEL Tablosu: PERSONEL_NO (UK) AD SOYAD GOREV MAAS BOLUM (AK-BOLUMLER) YONETICISI GIRIS_TARIHI BOLUMLER Tablosu: BOLUM_NO (UK) BOLUM_ADI BOLUM_YER

Örneklerde kullanılan Öğrenci İşleri Veri Tabanı OGRENCILER Tablosu: OGR_NO (UK) AD SOYAD TEL ADRES DERSLER Tablosu: DERS_KODU (UK) DERS_ADI DERS_KREDISI HOCASI (AK-HOCALAR) NOTLAR Tablosu: OGRENCI (AK-OGRENCILER) DERS (AK-DERSLER) DERS_YILI VIZE FINAL HOCALAR Tablosu: HOCA_NO (UK) AD SOYAD UNVAN

SELECT ifadesi SELECT sütun *yada sütunlar+ FROM tablo [yada tablolar] WHERE seçim kriteri SELECT ifadesinden sonra * kullanılırsa tüm nitelikler (sütunlar) seçilir. Kriter verilmezse WHERE sözcüğü de yazılmaz. Bu durumda tüm kayıtlar (satırlar) seçilir. Personel tablosundaki tüm kayıtların tüm nitelikleri aşağıdaki SQL cümlesi ile gösterilir: SELECT * FROM PERSONEL

WHERE ile kriter verme Eğer tüm kayıtların değil de sadece belirli kayıtların görüntülenmesi istenirse WHERE ile kriter verilir. Aşağıdaki SQL cümlesi maaşı 1800 TL nin üzerinde olan personelin adı ve soyadını ekranda gösterir: SELECT AD, SOYAD FROM PERSONEL WHERE MAAS > 1800

Kriterlerde kullanılan işleçler Programlama dillerinde kullanılan aritmetiksel karşılaştırma işleçleri (<, <=, >, >=, =, <>) ve mantıksal işleçler (AND, OR, NOT) SQL dilinde de kriter verirken kullanılır. Aşağıdaki SQL cümlesi görevi müdür olan ve maaşı 5000 TL den fazla olan personeli gösterir: SELECT * FROM PERSONEL WHERE GOREV = Müdür AND MAAS > 5000 Programlama dillerinde olduğu gibi SQL de de karakter türü veriler ile işlem yapılacaksa tek tırnak yada çift tırnak kullanılır.

Karakter türü verilerin karşılaştırılması Karakter türü veriler ile de büyüklük-küçüklük kıyaslamaları yapılabilir. Aşağıdaki SQL cümlesi adı N-Z arasında bir harf ile başlayan personeli gösterir: SELECT * FROM PERSONEL WHERE AD > N Aşağıdaki SQL cümlesi adı E harfi ile başlayan personeli gösterir: SELECT * FROM PERSONEL WHERE AD > E AND AD < F

LIKE işleci Belirli bir karakter katarını barındıran verileri aramak için LIKE kullanılır. Önceki slaytta yer alan, adı E harfi ile başlayan personeli gösteren sorgu LIKE ile de yazılabilir: SELECT * FROM PERSONEL WHERE AD LIKE E* Adresler şehir adı ile bitiyorsa, Edirne ilinde ikamet eden öğrencileri görmek için aşağıdaki sorgu kullanılabilir: SELECT * FROM ÖĞRENCİLER WHERE ADRES LIKE *Edirne

BETWEEN AND işleci İki değer arasında karşılaştırma yapmak için Between And işleci ( ile arasında) kullanılabilir. Aşağıdaki SQL cümlesi maaşı 1000 ile 2000 TL arasında olan işçileri görüntüler: SELECT * FROM PERSONEL WHERE MAAS BETWEEN 1000 AND 2000 AND GOREVI = İşçi Bu sorgu Between işleci kullanılmadan da yazılabilirdi: SELECT * FROM PERSONEL WHERE MAAS >= 1000 AND MAAS <= 2000 AND GOREVI = İşçi

IN işleci Bir listedeki değerler ile karşılaştırma yapmak için IN işleci kullanılır. 1000 ile 2000 TL arasında değil de sadece 1000, 1500 ve 2000 TL maaş alanları listelemek için aşağıdaki SQL cümlesi kullanılabilir: SELECT * FROM PERSONEL WHERE MAAS IN (1000, 1500, 2000)

Tarihsel türü verilerin karşılaştırılması Belirli bir tarihe eşit olan veya o tarihten büyük yada küçük olan verilerin aranması istenirse, tarih ay/gün/yıl biçiminde ve # karakterleri arasında yazılmalıdır: SELECT * FROM OGRENCILER WHERE DOGUM_TARIHI BETWEEN #1/1/1989# AND #12/31/1989#

DISTINCT ifadesi Eğer tablonun bir alanında yer alan veriler içinde aynı olan veriler varsa SELECT ifadesinden sonra kullanılan DISTINCT ile bu tekrar eden verilerin sadece 1 defa görüntülenmesi sağlanabilir. Aşağıdaki SQL cümlesi farklı kayıtlardaki aynı adları her kayıt için tekrar göstermek yerine 1 defa gösterilmesini sağlar: SELECT DISTINCT AD FROM PERSONEL

AS ifadesi ve sütun içeriklerini birleştirme Sütunların kendi ismi yerine AS ifadesi ile takma isim almaları sağlanabilir. İki yada daha fazla sayıda sütunun içeriğini birleştirmek için sütun isimleri arasında Access te &, Oracle da ise işleçleri kullanılır. Aşağıdaki SQL cümlesi AD ve SOYAD sütunlarının içeriklerini araya bir boşluk karakteri ekleyerek birleştirir ve ISIM adlı bir sütun şeklinde gösterir. SELECT AD & ' ' & SOYAD AS ISIM FROM OGRENCILER