• Sonuç bulunamadı

BÖLÜM 11. YAPISAL SORGULAMA DİLİ (SQL) Amaçlar:

N/A
N/A
Protected

Academic year: 2022

Share "BÖLÜM 11. YAPISAL SORGULAMA DİLİ (SQL) Amaçlar:"

Copied!
11
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

BÖLÜM 11. YAPISAL SORGULAMA DİLİ (SQL)

Amaçlar:

Yapısal Sorgulama Dilinin temellerini Kavramlarını öğreneceksiniz

İçindekiler:

11.1 Giriş

11.2 SQL Komutları

(2)

11. YAPISAL SORGULAMA DİLİ (SQL)

11.1 Giriş

Yeni bir Veritabanı oluşturulması, yeni kayıt ekleme, kaydın değiştirilmesi, tabloya kısıtlar eklenmesi, kısıtların değiştirilmesi gibi işlemler yapısal sorgulama dili olarak bilinen SQL ile gerçekleştirilir. SQL komutları VTYS ‘ine bağlı olarak bir SQL editörü aracılığı ile ya da başka bir programlama dili içerisine gömülü olarak çalıştırılabilir.

SQL komutları işlevlerine göre gruplara ayrılır:

Veri Tanım Dili(DDL): Bu gruptaki komutlar VT tablolarının ve diğer enselerin fiziksel yapısını oluşturmak ve değiştirmek için kullanılır.

Veri Manipülasyon Dili(DML): Bu gruptaki komutlar kayıtların tabloya eklenmesi, tablodan çıkartılması ya da var olan kayıtların değiştirilmesi için kullanılır.

Veri Denetim Dili(DCL): Bu gruptaki komutlar veri tabanı üzerindeki yetkilendirmeleri denetler.

Hareket Denetim Dili(TCL): Bu gruptaki komutlar tablolar üzerindeki değişikliklerin ve hareketlerin VT’yede kesin olarak saklanması veya yapılan işlemlerden vazgeçildiğinde VT’yi önceki durumuna getirmede kullanılır.

Veri Sorgulama Dili(DQL): Bu gruptaki komutlar veri sorgulamada kullanılır.

11.2 TEMEL SQL KOMUTLARI

Veri tabanlarındaki en önemli işlem sorgulamadır. Veritabanındaki verilerde raporlar elde edilmesi istatistikler çıkartılması, kayıtların sıralanması gibi amaçlarla kullanılır. Çok sayıda kayıt arasından istenilen kayıtların seçilmesi için kullanılan komut SELECT’tir Bu komut ile bir yada birden fazla tablodan sorgulama yapılabilir. Genle yapısı

SELECT * FROM tablo adı şeklindedir.

SELECT komutu tablolardaki alanları seçmek için kullanılır.

Aşağıda verilen örneklerde Takip veritabanında Zkimlik1 tablosundan SQL cümleleri kullanılarak elde edilen raporlar görülmektedir.

1. SELECT * FROM Zkimlik1

Bu SQL cümlesi ile Zkimlik1 tablosundaki kayıtların tamamı bütün alanları ile(*

kullanıldığı için) listelenir. Elde edilen çıktı aşağıda verilmiştir.

(3)

2. SELECT OrtakNo, Ad, Soyad from Zkimlik1.

Şekil 10.7

Yukarıda SQL cümlesinde yalnızca OrtakNo, Ad ve Soyad alanları seçildiği için SQL cümlesinin yerleştirilmesi sonucu elde edilen rapor şekil 10.7 ki gibi olur.

3. SELECT * FROM Zkimlik1 ORDER BY Ad

Yukarıda verilen SQL cümlesi, Zkimlik1 tablosundan “Ad” alanına göre sıralı bir rapor elde edilmesini sağlar. Çünkü ORDER BY, SQL’de sıralı çıktı elde etmek için kullanılır.

Elde edilecek çıktı artan sıralıdır. Eğer elde edilen çıktının azalan sırada olması isteniyorsa cümlenin sonuna DESC yazıp çıktının “Ad” alanına göre azalan sırada olması

(4)

sağlanmalıdır. Aşağıda şekil 10.8 ‘de artan sırada bir rapor, Şekil 10.09 ‘da azalan sırada bir rapor gösterilmiştir.

SELECT * FROM Zkimlik1 ORDER BY Ad

Şekil 10.8 SELECT * FROM Zkimlik1 ORDER BY Ad DESC

Şekil 10.9

Bunlardan başka SQL cümlelerinde elde edilecek cıktı birden fazla alana göre sıralanabilir. Bunun için ORDER BY sözcüğünden sonra raporun sıralanacağı alanlar birbirinden virgül ile ayrılarak yazılır.

(5)

SELECT * FROM Zkimlik1 ORDER BY Ad,Soyad

Şekil 10.10

Şekil 10.8 ile şekil 10.9 ‘u karşılaştırarak elde edilin çıktılar arasındaki farkı gözleyiniz.

4. SELECT * FROM Zkimlik1 WHERE ad=”AHMET”

WHERE, belli koşula uyan kayıtların listelenmesi için kullanılır. Yukarıdaki SQL cümlesi Zkimlik1 tablosundan Ad alanı AHMET olan kayıtların listelenmesini sağlar.

SQL cümlesinden elde edilen çıktı şekil 10.11’de gösterilmiştir.

Şekil 10.11

Yukarıdaki cümle SELECT * FROM Zkimlik1 WHERE Ad=”AHMET” OR Soyad=”MERT” şeklinde değiştirilirse elde edilecek rapor şekil 10.12’de verilmiştir. Bu raporun Şekil 10.11’de verilen rapordan farklı olduğunu gözleyiniz. Ayrıca bu cümlede

(6)

kullanılan OR mantıksal operatörü yerine AND operatörü kullanılsaydı elde edilecek raporda görüntülenecek kayıtların hangi kayıtlar olacağını tahmin ediniz.

Şekil 10.12

5. SELECT * FROM Zkimlik1 WHERE ad BETWEEN “AYDIN” AND “BEKİR”

SQL cümlelerinde aralık sorgulaması yapmak için BETWEEN kullanılır. Yukarıdaki SQL cümlesi ile Zkimlik1 tablosundan sorgu çekildiğinde aşağıdaki çıktı elde edilir.

Şekil 10.13

(7)

6. SELECT * FROM zkimlik1 WHER ad IN('Ali','Bekir')

IN komutu koşul belirtirken kullanılır. Örneğin adı Ali ve Bekir olan kayıtları listelemek istersek yukarıdaki SQL cümlesi yazılır ve aşağıdaki rapor elde edilir.

Şekil 10.14

7. SELECT * FROM ZKimlik1 WHERE adi LIKE ‘*C*’

LIKE komutu aranılan kayıttan yalnızca birkaç harf biliniyorsa o kayıtları listelemek için kullanılır. Şekil 10.15 ‘de ad sütununda içinde C harfi geçen kayıtlar listelenmiştir.

Şekil 10.15

(8)

8. SQL Cümlelerinde Aritmetiksel Fonksiyonların Kullanımı

SQL cümlelerinde sayısal veriler üzerine aritmetiksel fonksiyonlar uygulanabilir.

Bunlardan bazıları aşağıda verilmiştir.

SUM : Toplama fonksiyonu

MAX : En büyük değeri bulan fonksiyon MIN : En küçük değeri bulan fonksiyon AVG : Ortalama alan Fonksiyon

COUNT : Tablodaki kayıt sayısını bulan fonksiyon

SELECT ortakno, SUM(borc) as tborc, SUM(alacak) as talacak, sum(borc-alacak) as fark FROM tkart GROUP BY ortakno

Şekil 10.16

Yukarıdaki SQL cümlesinde kullanılan GROUP BY aynı ortak numarasına ait kayıtları gruplamak için kullanılmıştır.

(9)

SELECT MAX(borc) as maxborc, MAX(alacak) as maxalacak FROM tkart

Şekil 10.17

SELECT MIN(borc) as maxborc, MIN(alacak) as maxalacak FROM tkart

Şekil 10.18

SELECT AVG(borc) as ortborc, AVG(alacak) as ortalacak FROM tkart

Şekil 10.19

(10)

SELECT COUNT(*) as KayıtSayısı FROM tkart

9. SQL Cümleleriyle Birden Fazla Tablodan Sorgu Yapma

SQL cümleleri ile tek bir tablodan sorgu yapılıp rapor oluşturulabildiği gibi birden fazla tablo kullanılarak da rapor hazırlanabilir. Örneğin Zkimlik1 tablosundan OrtakNo, Ad, Soyad ve Zkimlik3 tablosundan DTarih(Doğum Tarihi) alınarak bir rapor oluşturulmak istenirse basit olarak aşağıdaki gibi bir SQL cümlesi yazılabilir.

SELECT Zkimlik1.ortakno, zkimlik1.ad, zkimlik1.Soyad, zkimlik3.DTarih FROM Zkimlik1, zkimlik3

WHERE zkimlik1.ortakno=zkimlik3.ortakno

Bu SQL cümlesi çalıştırıldığında aşağıdaki gibi bir rapor elde edilir.

10. SQL Cümlesiyle Tablolara Kayıt Eklemek

(11)

CREATE TABLE deneme(

plaka_no NUMBER PRIMARY KEY, marka char(25) unique);

INSERT INTO Zkimlik1 ( ortakno, ad, soyad, BabaAd, DogYer, meslekgrubu ) VALUES ('2000', 'MEHMET', 'CAN', 'HASAN', 'SAKARYA', 2);

Yukarıdaki SQL cümlesi Zkimlik1 tablosuna ortakno’ su 2000 olan yeni bir kayıt ekler.

11. SQL Cümlesiyle Tablolardaki Kayıtlar Üzerinde Değişiklik Yapmak

UPDATE zkimlik1 SET ad = 'Ayşe', soyad = 'öz', BabaAd = 'mehmet', dogYer = 'Bolu', meslekgrubu = 3, Is_basla = '11-12-2009'

WHERE ortakno='2000';

Yukarıdaki SQL cümlesi Zkimlik1 tablosuna ortakno’ su 2000 olan kayıt üzerinde değişiklik yapar.

12. SQL Cümlesiyle Tablolardaki Kayıtları Silmek

DELETE * FROM zkimlik1 WHERE ad='Ayşe';

Yukarıdaki SQL cümlesi Zkimlik1 tablosuna Ad alanı ‘Ayşe’ olan kayıtları siler.

Referanslar

Benzer Belgeler

Örneğin Departman adına ve personel yasına göre grup oluşturalım.. SELECT Departman_id, Yas

36 170109001 Emine UYGUN Kimya ve Süreç Mühendisliği Bölümü/Kimya ve Süreç Mühendisliği 37 170105043 Emirhan YAŞAR Enerji Sistemleri Mühendisliği Bölümü/Enerji

• Otomatik Vites ile sınava girecek olan kursiyerlerin Direksiyon sınav randevularını hazırlamak için Otomatik Vites seçeneğini.. şaretleyiniz.İşaretlediğinizde

EBRU YILDIZ İŞLETME FAKÜLTESİ ULUSLARARASI TİCARET.. FEN EDEBİYAT

UÇAK TEKNOLOJİSİ PROGRAMI 2021 - 2022 GÜZ DÖNEMİ A1 MODÜL 5 DİJİTAL ELEKTRONİK SINAVI

Örneğimizde, alındı bordrosundaki her çek için girilen Cari Rapor Kodunun bastırılması amaçlandığından, kısıt olarak çek numarası kullanılmalıdır. Bu durumda,

• Microsoft’un indirme portalından SQL’in setupları indirilerek Custom olarak kurulum dosyaları indirildikten sonra aşağıdaki şekilde New SQL Server

SQL Server Database Development Tasks Module 2: Designing and Implementing Tables. Designing Tables