insert, update, delete

GW·2023년 8월 18일

INSERT

-- INSERT INTO TABLENAME(
--  COLUMN,..)
-- VALUES(
--  VALUES,...)
 

-- EMPLOYEES에 100번 사원을 추가해본다.
INSERT INTO EMPLOYEES
 (EMPLOYEE_ID --사원번호
, FIRST_NAME -- 이름
, LAST_NAME -- 성
, EMAIL --이메일(이름의 첫글자와 성 모든 글자)
, PHONE_NUMBER -- 전화번호
, HIRE_DATE -- 입사일(DATE타입)
, JOB_ID -- 직무아이디(FK)
, SALARY -- 연봉(숫자)
, COMMISSION_PCT -- 인센티브(숫자)
, MANAGER_ID -- 상사의 사원버호 (FK)
, DEPARTMENT_ID) -- 부서번호(FK)
VALUES
 (300
, 'Gwang Won'
, 'Won'
, 'dnjs7032'
, '010-7412-7032'
, SYSDATE
, 'IT_PROG'
, 25000
, 0.9
, NULL
, 210)
;
COMMIT;
ROLLBACK;
SELECT *
  FROM EMPLOYEES 
 WHERE EMPLOYEE_ID =300;

-- EMPLOYEES에 3010번 사원을 추가해보자 

INSERT INTO EMPLOYEES
 (EMPLOYEE_ID --사원번호
, FIRST_NAME -- 이름
, LAST_NAME -- 성
, EMAIL --이메일(이름의 첫글자와 성 모든 글자)
, PHONE_NUMBER -- 전화번호
, HIRE_DATE -- 입사일(DATE타입)
, JOB_ID -- 직무아이디(FK)
, SALARY -- 연봉(숫자)
, COMMISSION_PCT -- 인센티브(숫자)
, MANAGER_ID -- 상사의 사원버호 (FK)
, DEPARTMENT_ID) -- 부서번호(FK)
VALUES
 (301
, 'Gwang Won1'
, 'Won1'
, 'dnjs70321'
, '010-7412-7032'
, SYSDATE
, 'IT_PROG' -- job_id  ctrl+shify+y 소문자로 변경함
, 25000
, 0.9
, 300
, 210)
;
COMMIT;
INSERT INTO EMPLOYEES
 (EMPLOYEE_ID --사원번호
, FIRST_NAME -- 이름
, LAST_NAME -- 성
, EMAIL --이메일(이름의 첫글자와 성 모든 글자)
, PHONE_NUMBER -- 전화번호
, HIRE_DATE -- 입사일(DATE타입)
, JOB_ID -- 직무아이디(FK)
, SALARY -- 연봉(숫자)
, COMMISSION_PCT -- 인센티브(숫자)
, MANAGER_ID -- 상사의 사원버호 (FK)
, DEPARTMENT_ID) -- 부서번호(FK)
VALUES
 (302
, NULL
, 'Won2'
, 'dnjs7022'
, '010-7412-7032'
, SYSDATE
, 'IT_PROG' -- job_id  ctrl+shify+y 소문자로 변경함
, 25000
, 0.9
, 300
, 210)
;
COMMIT;

INSERT INTO COUNTRIES
 (COUNTRY_ID
, COUNTRY_NAME
, REGION_ID)
VALUES
 ('KR'
, 'Korea'
, 3)
;

-- LOCATIONS 테이블에 지역번호 4000, 
-- 상세주소: 효령로 KTds University 211호
-- 우편번호
-- 도시 Seoul
-- 주: NULL
-- 국가 아이디 KR

INSERT INTO LOCATIONS 
 (LOCATION_ID
, STREET_ADDRESS
, POSTAL_CODE
, CITY
, STATE_PROVINCE
, COUNTRY_ID)
VALUES 
 (4000
, '효령로 KTds University 211호'
, 25000
, '서울'
, NULL
, 'KR')
;
COMMIT;

-- INSERT, UPDATE, DELETE 는 JOIN이 불가능 하다.
-- DEPARTMENTS 테이블에
-- 부서번호: 300
-- 부서명 : 연구소
-- 부서장 사원번호 : 300
-- 지역번호: 4000
INSERT INTO DEPARTMENTS 
( DEPARTMENT_ID
, DEPARTMENT_NAME
, MANAGER_ID
, LOCATION_ID)
VALUES
 (300
, '연구소'
, 300
, 4000)
;

UPDATE

--데이터 수정
-- 300번, 301번, 302번 사원의 부서번호를 210번으로 변경해보자
UPDATE EMPLOYEES 
   SET DEPARTMENT_ID = 300 
 WHERE EMPLOYEE_ID IN(300,301,302)
;
COMMIT;

-- 300번 사원의 상사 사원번호를 100번으로 변경하고 연봉을 34000원으로 변경한다.
UPDATE EMPLOYEES 
   SET MANAGER_ID =100
     , SALARY = 34000
 WHERE EMPLOYEE_ID = 300
;
-- JOBS 테이블에 
-- 직무아이디 : SW_TESTER
-- 직무명 : QA
-- 직무별 최저연봉 : 4000
-- 직무별 최고연봉: 50000 을 추가
-- 
INSERT INTO JOBS 
 (JOB_ID
, JOB_TITLE
, MIN_SALARY
, MAX_SALARY)
VALUES
 ('SW_TESTER'
, 'QA'
, 4000
, 50000)
;
COMMIT;
SELECT *
  FROM JOBS 
 WHERE JOB_ID = 'SW_TESTER';
-- EMPLOYEES 테이블에서
-- 사원번호가 300,301,302번 사원의
-- 직무아이디가 SW_TESTER
-- 인센티브 0.5
-- 로 변경한다. 
UPDATE EMPLOYEES 
   SET JOB_ID ='SW_TESTER'
     , COMMISSION_PCT =0.5
 WHERE EMPLOYEE_ID IN(300,301,302)
;
SELECT *
  FROM EMPLOYEES 
 WHERE JOB_ID = 'SW_TESTER'
;

-- EMPLOYEES 테이블에서 사원번호가 300,301,302번 사원들의
-- 연봉을 1000씩 증가 시켜보자.
UPDATE EMPLOYEES 
   SET SALARY =SALARY +1000
 WHERE EMPLOYEE_ID IN (300,301,302)
;
SELECT *
  FROM EMPLOYEES 
 WHERE EMPLOYEE_ID IN (300,301,302)
;

DELETE

DELETE 
  FROM JOB_HISTORY 
;

SELECT *
  FROM JOB_HISTORY
;
ROLLBACK;

0개의 댓글