İÇİNDEKİLER
Toplu Ulaşım Veri tabanı Hazırlama ve Yükleme
Hastane Veri tabanı Hazırlama ve Yükleme
SQL Komutları
Matematiksel Fonksiyonlar
Kümeleme Fonksiyonları
Gruplama ve Sıralama Fonksiyonları
Metinsel Fonksiyonlar
Tarihsel Fonksiyonlar
Join Analizi ve Türleri (İnner join, left join, right join …)
Join İşlemlerinde ve Delete
Sorgu Analiz Diyagramı
İn (Sub Query) İşlemleri
Except, İntersect, Union Sorgu Birleştirme işlemleri
Sorgu Bankası
600.000 Data ve 300 Açıklamalı Sorgu Analizi
Sql server, Mysql ve Oracle Veritabanlarında Syntax Karşılaştırması
SEÇKİN ¦ Teknik
Ankara 2022
Akademik ve Mesleki Yayınlar
SQL Uygulamaları ve Sorgu Bankası
Esra Yorulmaz SALMAN
SEÇKİN ¦ Teknik
No: 339
ISBN 978–975–02–7926–3
Birinci Baskı: Ağustos 2022
Sayfa Tasarımı:
Ömer Candan
Kapak Tasarımı:
Yiğit Can Aydın 336 Sayfa, 16x23,5 cm.
1. Yazılım
2. SQL
3. Sorgu
4. Oraqle
5. Mysql
6. MariaDB
7. SQL Server 2019
8. Bilgisayar Mühendisliği
9. Veritabanı
© Seçkin Yayıncılık San. ve Tic. A.Ş.
Bu kitabın her türlü yayın hakkı Seçkin Yayıncılık San. ve Tic. A.Ş’ye aittir. Yayınevinin yazılı izni olmadan, tanıtım amaçlı toplam bir sayfayı geçmeyecek alıntılar hariç olmak üzere, hiçbir şekilde kitabın tümü veya bir kısmı herhangi bir ortamda yayımlanamaz ve çoğaltılamaz.
Satış ve Dağıtım:
Mustafa Kemal Mahallesi 2158. Sokak No:13 Çankaya/ANKARA
T: 0–312–435 30 30 F: 0–312–435 24 72 E: seckin@seckin.com.tr
İstanbul Çağlayan Adliyesi Şubesi
D Blok 2. Bodrum Kat No: 5
Çağlayan
T: (212) 240 0015
F: (212) 240 0015
E: caglayan@seckin.com.tr İstanbul Kartal Adliyesi Şubesi
C Blok Zemin Kat No: 29
Kartal
T: (216) 303 11 23
F: (216) 303 11 23
E: kartalsube@seckin.com.tr İstanbul Şişli Şubesi
Abide–i Hürriyet Cad. No:183/A
Şişli
T: (212) 234 34 77
F: (212) 231 24 69
E: sislisube@seckin.com.tr Ankara Sıhhiye Şubesi
Strazburg Caddesi No: 23/B
Sıhhiye
T: (312) 230 52 62
F: (312) 230 52 62
E: ankarasube@seckin.com.tr
Web Sitesi: www.seckin.com.tr
Seçkin Yayıncılık Sertifika No: 45644
Baskı:
Vadi Grafik Ltd. Şti. – Sertifika No: 47479
İvedik Organize Sanayi Bölgesi 1420 Cadde No: 58/1 Yenimahalle / ANKARA – T: (0–312) 395 85 71
Her yol ayrımında bana yol gösteren,
gülleri çok seven, gül kokulu
Dedeme ithafen…
Önsöz
Bir fanus içerisinde karışık halde tutulan veriler var ve içerisinde istedi–ğiniz özelliğe sahip veriyi bulmak istiyorsunuz. Çözüme gidebilmek için hem an az sürede hem de sizi en az yoracak bir yol bulmanız gerekiyor ve siz nasıl bir çözüm bulurdunuz? Muhtemelen tek tek tüm verileri alır ve sizin istediğiniz özelliğe uyup uymadığına bakardınız. Peki bu ne kadar sürerdi ve sizi ne kadar yorardı.
Daha iyi performans için verileri düzenlemeniz ve her veriyi özelliğine göre gruplayıp ayırmanız gerekiyor. Yaptığınız bu işlem Veri tabanı Tasarım yöntemidir. Düzenlenmiş verileri üzerinde aradığınız veriyi en iyi performansta getirme işlemi de SORGU işlemidir. Verilerin sorgulanması için temel sorgulama dili SQL dili olup, genel yapısı tüm veri tabanı yönetim sistemlerinde (SQL Server, Mysql, Oracle) aynıdır. Platformlardaki sql sorgu farklılığı, o platforma ait bazı syntax farklılığındandır.
SQL Server veritabanında sorgu yapan ve bu veritabanını kullanan ar–kadaşlara “Oracle veritabanını ya da Mysql veritabanını biliyor musunuz” diye sorsak aslında alacağımız cevap muhtemelen “Hayır” olacaktır. Aslında bu arkadaşlar kendi kapasitelerinin farkında değiller. Çünkü bir veritabanına hâkim iseniz, diğer tüm veri tabanı yönetim sistemlerinin %70’ine hâkimsiniz. Bilmeniz gereken %30 luk kısmı platformun yönetim ekranı ve o platforma bağlı bazı fonksiyonların sytntaxlarından doğan isim farklılığıdır. Bunu da öğrenmeniz çok fazla vaktinizi almayacaktır. Bu kitapta, sizlere bunu göstermek adına her bir konu Sql server, Mysql ve Oracle veri tabanı yönetim sistemlerine göre karşılaştırarak anlatıldı ve kitapta çözümlenen her bir sorgu, bu veritabanlarında çalıştırılarak ekran çıktıları verildi. Bu özelliği ile bu kitap, veri tabanı kategorisindeki tüm basılan kitaplar arasında İLK ve TEK olma özelliği taşıyor.
Bu nedenle SQL SERVER kitabını okuyup ve öğrenen bir okuyucu sa–dece SQL SERVER veritabanında sorgu yazmayı öğrendiğini zannedip, Oracle, Mysql veya PostgreSQL veri tabanı konusunda hiçbir şey bilmedi–ğini düşünüyor. Bu kitap bunun önüne geçip, kişiye kendi farkındalığını kazandırmayı hedefliyor.
O zaman hadi birlikte sql sorgu serüvenine başlayalım ve her platform–da sorgu yazabilme yetisini birlikte kazanalım…
İçindekiler
Önsöz 7
1. BÖLÜM:
GİRİŞ
Giriş 15
2. BÖLÜM:
VERİTABANINA HAZIRLIK
1. Toplu Taşıma Ulaşım Veritabanı 17
2. Toplu Taşıma Ulaşım Veri tabanı Hazırlama 25
2.1. Sql Server Veri tabanı 25
2.2. Oracle Veritabanında 27
2.3. Mysql Veritabanında 34
3. BÖLÜM:
SQL KOMUTLARI
1. SQL Diline Hazırlık 37
2. DML Komutları 38
2.1. SELECT 39
2.1.1. Where Koşulları 40
2.1.1.1. Karşılaştırma Operatörleri 40
2.1.1.2. AND, OR, NOT 41
2.1.1.3. IN / NOT IN 44
2.1.1.4. IS NULL / IS NOT NULL 44
2.1.1.5. BETWEEN / NOT BETWEEN 44
2.1.1.6. LİKE / NOT LİKE 45
2.1.2. DISTINCT 47
2.2. UPDATE 48
2.3. DELETE 48
2.4. INSERT 50
3. Alıştırmalar 51
4. BÖLÜM:
MATEMATİKSEL FONKSİYONLAR
1. Power 59
2. Abs 59
3. Square 60
4. Sqrt 61
5. Rand / dbms_round 62
6. Round 62
7. Floor 64
8. Ceiling/Ceil 64
9. Mod 64
10. Pi 65
11. Sign 65
12. İsnumeric 66
13. Alıştırmalar 67
5. BÖLÜM:
KÜMELEME FONKSİYONLARI
1. SUM 73
2. COUNT 74
3. AVG 75
4. MİN 76
5. MAX 76
6. Alıştırmalar 81
6. BÖLÜM:
GRUPLAMA VE SIRALAMA FONKSİYONLARI
1. Order By 87
1.1. İç İçe Order by 90
1.2. Top/Limit/Rownum 91
2. Group By 93
2.1. Having 96
2.2. İç içe Group by 98
3. Pivot table 100
4. Alıştırmalar 102
7. BÖLÜM:
METİNSEL FONKSİYONLAR
1. Left 110
2. Right 111
3. Lpad 112
4. Rpad 112
5. Len / Length 113
6. Upper 113
7. Lower 114
8. Initcap 115
9. Substring / Substr 115
10. 117
11. Reverse 117
12. Replicate / Repeat 118
13. Trim 119
14. Ltrim 120
15. Rtrim 120
16. Quotename 121
17. Concat 121
18. Chr / Char 122
19. Instr / Charindex / Locate 123
20. Alıştırmalar 125
8. BÖLÜM:
TARİHSEL FONKSİYONLAR
1. Getdate / Sysdate / Current_date 134
2. Year 135
3. Month 136
4. Day 137
6. Datename 140
7. Dateadd / Interval 142
8. Datediff/months_between 147
9. İsdate 147
10. Str_to_date / Convert 148
11. Quarter 149
12. Dayofyear 149
13. Weekday 150
14. Weekofyear 151
15. Alıştırmalar 153
9. BÖLÜM:
JOİN İŞLEMLERİ
1. İnner Join 169
2. Left Join 179
3. Right Join 181
4. Full Outer Join 184
5. Cross Join 185
6. Self Join 186
7. ve Join 189
8. Alıştırmalar 191
10. BÖLÜM:
JOİN İŞLEMLERİNDE VERİ ANALİZİ
1. İn (Sub Query) Bağlantısı 202
2. Sorgu Analizi 204
3. Joinli Sorguda Update 205
4. Joinli Sorguda Delete 215
5. Alıştırmalar 222
11. BÖLÜM:
SORGU BİRLEŞTİRME
1. Union/ Union All 234
2. Except / Minus 238
3. İntersect 241
4. Alıştırmalar 247
12. BÖLÜM:
SQL SORGU BANKASI
1. Hastane Veri Tabanı 259
2. Sorgular 271
3. Cevaplar 278
Kavram Dizini 333
Özgeçmiş 335 |