CREATE TABLE DEPARTMENT(
DEPTNO INT PRIMARY KEY,
DEPTNAME VARCHAR(50),
FLOOR INT
);
CREATE TABLE EMPLOYEE(
EMPNO INT PRIMARY KEY,
EMPNAME VARCHAR(50),
DEPTNO INT,
CONSTRAINT FK_EMPLOYEE_DEPT FOREIGN KEY(DEPTNO)
REFERENCES DEPARTMENT(DEPTNO)
);
INSERT INTO DEPARTMENT(DEPTNO, DEPTNAME, FLOOR)
VALUES
(1, '영업', 8),
(2, '개발', 10),
(3, '기획', 9),
(4, '홍보', 8);
INSERT INTO EMPLOYEE(EMPNO, EMPNAME, DEPTNO)
VALUES
(1, '이순신', 1),
(2, '홍길동', 3),
(3, '강감찬', 2),
(4, '권율', 1),
(5, '유성룡', 3);
SELECT *
FROM DEPARTMENT;

SELECT *
FROM EMPLOYEE;

****
DELETE FROM DEPARTMENT WHERE DEPTNO = 1;

CREATE TABLE DEPARTMENT(
DEPTNO INT PRIMARY KEY,
DEPTNAME VARCHAR(50),
FLOOR INT
);
CREATE TABLE EMPLOYEE(
EMPNO INT PRIMARY KEY,
EMPNAME VARCHAR(50),
DEPTNO INT,
FOREIGN KEY(DEPTNO) REFERENCES DEPARTMENT(DEPTNO) ON DELETE CASCADE
);
INSERT INTO DEPARTMENT(DEPTNO, DEPTNAME, FLOOR)
VALUES
(1, '영업', 8),
(2, '개발', 10),
(3, '기획', 9),
(4, '홍보', 8);
INSERT INTO EMPLOYEE(EMPNO, EMPNAME, DEPTNO)
VALUES
(1, '이순신', 1),
(2, '홍길동', 3),
(3, '강감찬', 2),
(4, '권율', 1),
(5, '유성룡', 3);
SELECT *
FROM DEPARTMENT;

SELECT *
FROM EMPLOYEE;

****
DELETE FROM DEPARTMENT WHERE DEPTNO = 3;
SELECT *
FROM DEPARTMENT;

SELECT *
FROM EMPLOYEE;

CREATE TABLE DEPARTMENT(
DEPTNO INT PRIMARY KEY,
DEPTNAME VARCHAR(50),
FLOOR INT
);
CREATE TABLE EMPLOYEE(
EMPNO INT PRIMARY KEY,
EMPNAME VARCHAR(50),
DEPTNO INT NULL,
CONSTRAINT FK_EMPLOYEE_DEPT FOREIGN KEY(DEPTNO)
REFERENCES DEPARTMENT(DEPTNO)
ON DELETE SET NULL
);
INSERT INTO DEPARTMENT(DEPTNO, DEPTNAME, FLOOR)
VALUES
(1, '영업', 8),
(2, '개발', 10),
(3, '기획', 9),
(4, '홍보', 8);
INSERT INTO EMPLOYEE(EMPNO, EMPNAME, DEPTNO)
VALUES
(1, '이순신', 1),
(2, '홍길동', 3),
(3, '강감찬', 2),
(4, '권율', 1),
(5, '유성룡', 3);
SELECT *
FROM DEPARTMENT;

SELECT *
FROM EMPLOYEE;

****
DELETE FROM DEPARTMENT WHERE DEPTNO = 1;
SELECT *
FROM EMPLOYEE;

SELECT *
FROM DEPARTMENT;

****
DROP TABLE EMPLOYEE;
DROP TABLE DEPARTMENT;
CREATE TABLE DEPARTMENT(
DEPTNO INT PRIMARY KEY,
DEPTNAME VARCHAR(50),
FLOOR INT
);
CREATE TABLE EMPLOYEE(
EMPNO INT PRIMARY KEY,
EMPNAME VARCHAR(50),
DEPTNO INT NULL,
CONSTRAINT FK_EMPLOYEE_DEPT FOREIGN KEY(DEPTNO)
REFERENCES DEPARTMENT(DEPTNO)
ON DELETE SET NULL
);
INSERT INTO DEPARTMENT(DEPTNO, DEPTNAME, FLOOR)
VALUES
(1, '영업', 8),
(2, '개발', 10),
(3, '기획', 9),
(4, '홍보', 8);
INSERT INTO EMPLOYEE(EMPNO, EMPNAME, DEPTNO)
VALUES
(1, '이순신', 1),
(2, '홍길동', 3),
(3, '강감찬', 2),
(4, '권율', 1),
(5, '유성룡', 3);
SELECT *
FROM EMPLOYEE;

SELECT *
FROM DEPARTMENT;

ALTER TABLE EMPLOYEE ALTER COLUMN DEPTNO INT NOT NULL;
****
DELETE FROM DEPARTMENT WHERE DEPTNO = 3;
