-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDay4_UPDATE.sql
More file actions
138 lines (109 loc) · 5.26 KB
/
Day4_UPDATE.sql
File metadata and controls
138 lines (109 loc) · 5.26 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
use sys;
/* ============================== UPDATE SET ===================================
==============================================================================*/
-- primary-foreign bağlantisi son 2 soruda işe yarayacak
CREATE TABLE tedarikciler -- PARENT TABLE
(
vergi_no int PRIMARY KEY,
firma_ismi VARCHAR(50),
irtibat_ismi VARCHAR(50)
);
INSERT INTO tedarikciler VALUES (101, 'IBM', 'Kim Yon');
INSERT INTO tedarikciler VALUES (102, 'Huawei', 'Çin Li');
INSERT INTO tedarikciler VALUES (103, 'Erikson', 'Maki Tammamen');
INSERT INTO tedarikciler VALUES (104, 'Apple', 'Adam Eve');
CREATE TABLE urunler -- CHİLD TABLE
(
ted_vergino int,
urun_id int,
urun_isim VARCHAR(50),
musteri_isim VARCHAR(50),
CONSTRAINT fk_urunler FOREIGN KEY(ted_vergino) REFERENCES tedarikciler(vergi_no)
on delete cascade
);
INSERT INTO urunler VALUES(101, 1001,'Laptop', 'Ayşe Can');
INSERT INTO urunler VALUES(102, 1002,'Phone', 'Fatma Aka');
INSERT INTO urunler VALUES(102, 1003,'TV', 'Ramazan Öz');
INSERT INTO urunler VALUES(102, 1004,'Laptop', 'Veli Han');
INSERT INTO urunler VALUES(103, 1005,'Phone', 'Canan Ak');
INSERT INTO urunler VALUES(104, 1006,'TV', 'Ali Bak');
INSERT INTO urunler VALUES(104, 1007,'Phone', 'Aslan Yılmaz');
SELECT * FROM tedarikciler;
SELECT * FROM urunler;
-- SYNTAX
-- --------
-- UPDATE tablo_adı
-- SET sutun1 = yeni_deger1, sutun2 = yeni_deger2,...
-- WHERE koşul;
/* -----------------------------------------------------------------------------
ORNEK1: vergi_no’su 102 olan tedarikcinin (firma) ismini 'Vestel' olarak güncelleyeniz.
-----------------------------------------------------------------------------*/
update tedarikciler
set firma_ismi = 'VESTEL'
WHERE vergi_no = 102;
SELECT * FROM tedarikciler;
/* -----------------------------------------------------------------------------
ORNEK2: Tedarikciler tablosundaki tüm firma isimlerini 'CASPER' olarak
güncelleyeniz.
-----------------------------------------------------------------------------*/
update tedarikciler
set firma_ismi = 'CASPER';
SELECT * FROM tedarikciler;
/* -----------------------------------------------------------------------------
ORNEK3: vergi_no’su 101 olan tedarikcinin ismini 'casper' ve irtibat_ismi’ni
'Ali Veli' olarak güncelleyiniz.
-----------------------------------------------------------------------------*/
UPDATE tedarikciler
set irtibat_ismi='Ali Veli', firma_ismi='casper'
where vergi_no=101;
SELECT * FROM tedarikciler;
/* -----------------------------------------------------------------------------
ORNEK4: firma_ismi casper olan tedarikcinin irtibat_ismini 'İpek Bilgin'
olarak güncelleyiniz.
-----------------------------------------------------------------------------*/
update tedarikciler
set irtibat_ismi = 'ipek Bilgin'
where firma_ismi = 'casper';
SELECT * FROM tedarikciler;
/* -----------------------------------------------------------------------------
ORNEK5: urunler tablosundaki 'Phone' değerlerini Telefon olarak güncelleyiniz.
-----------------------------------------------------------------------------*/
update urunler
set urun_isim = 'Telefon'
where urun_isim = 'Phone';
select * from urunler;
/* -----------------------------------------------------------------------------
ORNEK6: urunler tablosundaki urun_id değeri 1004'ten büyük olanların urun_id
değerlerini bir arttırınız
-----------------------------------------------------------------------------*/
update urunler
set urun_id = urun_id + 1
where urun_id > 1004;
select * from urunler;
/* ----------------------------------------------------------------------------
ORNEK7: urunler tablosundaki tüm ürünlerin urun_id değerini ted_vergino
sutun değerleri ile toplayarak güncelleyiniz.
-----------------------------------------------------------------------------*/
update urunler
set urun_id = urun_id + ted_vergino;
select * from urunler;
/*-----------------------------------------------------------------------------
ORNEK8: urunler tablosundan Ali Bak’in aldigi urunun ismini, tedarikci
tablosunda irtibat_ismi 'Adam Eve' olan firmanın ismi (firma_ismi) ile
degistiriniz.
-----------------------------------------------------------------------------*/
delete from tedarikciler; -- buraya kadar bozulan tedarikciler tablosunu boşalttm yukardan tekrar insert ederek ilk haline getirdim.
select * from tedarikciler;
-- sorunun çözümü buradan başlyor
update urunler
set urun_isim = (select firma_ismi from tedarikciler where irtibat_ismi = 'Adam Eve')
where musteri_isim='Ali Bak';
select * from urunler;
/*------------------------------------------------------------------------------
ORNEK9: Laptop satin alan musterilerin ismini, Apple’in irtibat_isim'i ile
degistirin
-----------------------------------------------------------------------------*/
update urunler
set musteri_isim = (select irtibat_ismi from tedarikciler where firma_ismi='Apple')
where urun_isim = 'Laptop';
select * from urunler;