-
Notifications
You must be signed in to change notification settings - Fork 1
/
DML_UPDATE_AND_DELETE_STATEMENT.sql
29 lines (20 loc) · 1.22 KB
/
DML_UPDATE_AND_DELETE_STATEMENT.sql
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
-- DATA MANIPULATION LANGUAGE
-- UPDATE STATEMENT AND DELETE STATEMENT
-- UPDATE TABLE_NAME SET COL1 = VAL1, ... WHERE CONDITION;
-- DELETE FROM TABLE_NAME WHERE CONDITION;
-- EMPLOYEES TABLOSUNUN KOPYASINI OLUÞTURALIM.
CREATE TABLE EMPLOYEES_COPY AS SELECT * FROM EMPLOYEES;
-- EMPLOYEE_ID'SÝ 100 HARÝ.HERKESÝN MAAÞINA ZAM VE KOMÝSYON YAZACAK.
UPDATE EMPLOYEES_COPY SET SALARY = SALARY * 1.20, COMISSION = 0.25 WHERE EMPLOYEE_ID <> 100;
-- NOT: <> ÝÞARETÝ, != ÝÞARETÝ ÝLE AYNI ANLAMA GELÝR.
-- 101 VE 102 NOLU ÇALIÞANLAR ÝÇÝN GÜNCELLEME YAPILACAK.
UPDATE EMPLOYEES_COPY SET SALARY = SALARY - 400, COMISSION = NULL, WHERE EMPLOYEE_ID IN (101, 102);
-- EMPLOYEES A TABLOSUNDAKÝ DEÐERLER ÝLE EMPLOYEES B TABLOSUNDAKÝ DEÐERLERÝ GÜNCELLEYECEK.
-- SADECE 100 NOLU DEPARTMANDAKÝLER ÝÇÝN ÝÞLEM UYGULANACAK.
UPDATE EMPLOYEES_COPY A SET A.SALARY = (SELECT B.SALARY FROM EMPLOYEES B WHERE A.EMPLOYEES_ID = B.EMPLOYEES_ID) WHERE A.DEPARTMENT_ID = 100;
-- 100 NOLU DEPARTMANDA ÇALIÞANLARI SÝLELÝM.
DELETE FROM EMPLOYEES_COPY WHERE DEPARTMENT_ID = 100;
-- EMPLOYEES_COPY TABLOSUNUN ÝÇÝNÝ SÝLELEÝM.
DELETE FORM EMPLOYEES_COPY;
-- EMPLOYEES TABLOSUNUN ÝÇÝNÝ TEKRAR EMPLOYEES-COPY TABLOSUNA YEDEKLEYELÝM.
INSERT INTO EMPLOYEES_COPY SELECT * FROM EMPLOYEE;