-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSQL exercise 1
More file actions
31 lines (22 loc) · 1.28 KB
/
Copy pathSQL exercise 1
File metadata and controls
31 lines (22 loc) · 1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
CREATE TABLE bolumler(
bolum_id INTEGER PRIMARY KEY, /*her bölümün idsi kendine özel*/
bolum_adi TEXT NOT NULL); /*bos bırakılamaz metin*/
CREATE TABLE ogrenciler(
ogrenci_id INTEGER PRIMARY KEY,
ad TEXT NOT NULL,
not_ort REAL, /*ondalıklı sayı*/
bolum_id INTEGER,
FOREIGN KEY (bolum_id) REFERENCES bolumler(bolum_id) /*karsılıgı olmayan bir bölüme öğrenci eklenmesi engellenir*/
);
/*Tabloya ekleme yapıyoruz*/
INSERT INTO bolumler (bolum_id,bolum_adi) VALUES(1,'BİLGİSAYAR MÜHENDİSLİĞİ'),(2,'YAZILIM MÜHENDİSLİĞİ');
INSERT INTO ogrenciler(ogrenci_id,ad,not_ort,bolum_id) VALUES (341,'ROZERİN',2.8,1),(232,'DOĞUKAN',3.2,2),(345,'ELİF',3.5,1),(567,'YİĞİT',2.3,2);
/*Not ortalaması 3 ten büyük olan kişileri seçiyoruz*/
SELECT ad,not_ort FROM ogrenciler WHERE not_ort>=3;
/*Veri Güncelleme*/
UPDATE ogrenciler SET not_ort=3.5 WHERE ogrenci_id=341;
/*İki tabloyu birleştiriyoruz*/
SELECT ogrenciler.ad,ogrenciler.not_ort,bolumler.bolum_adi FROM ogrenciler INNER JOIN bolumler ON ogrenciler.bolum_id = bolumler.bolum_id;
/*Yapılan işlem geçici hafızaya alınır.Update başarılı olursa COMMIT ile veritabanına kalıcı olarak veri işlenir*/
BEGIN TRANSACTION;UPDATE ogrenciler SET not_ort = 2.6 WHERE ogrenci_id =232;
COMMIT;