JOIN Uygulamaları İçin Ek Veriler
JOIN İçin Ek Veri (SQL Kodu)
Bilgi: Aşağıdaki SQL kodu, mevcut
Okul_DB veritabanınıza eşleşmeyen (boşta kalan) kayıtlar ekler. Bu sayede LEFT, RIGHT ve FULL OUTER JOIN sorgularında NULL sonuçları net bir şekilde gözlemleyebilirsiniz.
Önceki temel scripti çalıştırdıktan sonra bu kodu SSMS üzerinde çalıştırarak veritabanınızı JOIN pratikleri için daha zengin hale getirebilirsiniz.
USE Okul_DB;
GO
-- 1. BÖLÜMLER: İlişkisi olmayan (atıl) bölümler
INSERT INTO Bolumler (BolumAdi) VALUES
('Yapay Zeka Mühendisliği'),
('Veri Bilimi'),
('Uzay Bilimleri'),
('Gömülü Sistemler'),
('Endüstriyel Tasarım');
-- 2. ÖĞRENCİLER: Hiçbir derse kayıt yaptırmamış öğrenciler
INSERT INTO Ogrenciler (OgrenciNo, Ad, Soyad, DogumTarihi, Cinsiyet, Sinif, AktifOgrencilik, BolumID) VALUES
('20239001', 'Mert', 'Yılmaz', '2000-01-01', 'E', '1', 1, 1),
('20239002', 'Selin', 'Demir', '2001-05-10', 'K', '2', 1, 2),
('20239003', 'Alperen', 'Güneş', '2002-10-20', 'E', '1', 1, 5),
('20239004', 'Buse', 'Kaya', '2003-02-15', 'K', '1', 1, 1);
-- 3. ÖĞRETMENLER: Henüz ders ataması yapılmamış öğretmenler
INSERT INTO Ogretmenler (Ad, Soyad, BolumID) VALUES
('Hakan', 'Hocaoğlu', 1),
('Meltem', 'Bilgin', 2),
('Deniz', 'Yılmaz', 5),
('Kemal', 'Sönmez', 9);
-- 4. DERSLER: Henüz öğretmeni atanmamış veya öğrencisi olmayan dersler
INSERT INTO Dersler (DersAdi, Kredi, BolumID, OgretmenID) VALUES
('Kuantum Programlama', 5, 1, NULL),
('Bilişim Etiği', 2, 2, NULL),
('Siber Güvenlik Giriş', 3, 6, NULL),
('Görüntü İşleme', 4, 5, NULL);
-- 5. KAYITLAR: Sınav analizi için özel kayıt
-- Bu öğrenci derse kayıtlı (KAYITLAR) ama sınav kağıdı yok (NOTLAR)
INSERT INTO Kayitlar (OgrenciNo, DersID) VALUES
('20239004', 1);
GO
PRINT 'JOIN ve NOT analizi için zenginleştirilmiş veriler başarıyla yüklendi.';