copy_emp

moon.kick·2025년 3월 13일

SQL

목록 보기
1/11

물론이죠, 각 SQL 작업에 대해 한글로 설명드리겠습니다.

1) 전체 테이블 복사 (copy_emp)

select * from copy_emp;
desc emp;
desc copy_emp;
  • select * from copy_emp;
    copy_emp 테이블의 모든 레코드와 컬럼을 조회합니다.
  • desc emp;
    emp 테이블의 구조(컬럼명, 데이터 타입 등)를 보여줍니다.
  • desc copy_emp;
    copy_emp 테이블의 구조를 보여줍니다. 이 명령은 emp 테이블을 복사한 후, 두 테이블의 구조가 동일한지 확인하는 데 유용합니다.

2) 특정 레코드와 컬럼만 복사하여 새로운 테이블 만들기 (copy_emp2)

create table copy_emp2 as select empno, ename, job, sal from emp where job = 'manager';
select * from copy_emp2;
  • create table copy_emp2 as select empno, ename, job, sal from emp where job = 'manager';
    emp 테이블에서 empno, ename, job, sal 컬럼만 선택하여 새로운 테이블 copy_emp2를 생성합니다. where 절을 사용하여 job 컬럼의 값이 'manager'인 레코드만 복사합니다.
  • select * from copy_emp2;
    copy_emp2 테이블에서 모든 레코드를 조회합니다. 이 테이블은 'manager' 직무를 가진 직원들의 empno, ename, job, sal 컬럼만 포함하고 있습니다.

3) 테이블의 구조만 복사하기 (데이터는 복사하지 않음) (copy_emp3)

create table copy_emp3 as select * from emp where 1=0;
select * from copy_emp3;
  • create table copy_emp3 as select * from emp where 1=0;
    이 명령은 emp 테이블의 구조만을 복사하여 copy_emp3라는 새 테이블을 만듭니다. where 1=0 조건은 항상 거짓이기 때문에 데이터는 복사되지 않고, 테이블의 구조만 복사됩니다.
  • select * from copy_emp3;
    copy_emp3 테이블에서 데이터를 조회해도 아무것도 출력되지 않습니다. 왜냐하면 데이터를 복사하지 않았기 때문입니다. 하지만 테이블의 구조는 emp 테이블과 동일합니다.

4) 특정 레코드 업데이트 (empno 7566 사원의 급여와 수당 변경)

특정 레코드의 컬럼을 수정하려면 UPDATE 문을 사용합니다:

update emp set sal = 4000, comm = 100 where empno = 7566;
  • 이 명령은 empno가 7566인 사원의 sal(급여)과 comm(수당)을 각각 4000과 100으로 업데이트합니다.
  • 업데이트된 내용을 확인하려면 다음과 같이 쿼리할 수 있습니다:
select empno, ename, sal, comm from emp where empno = 7566;

이 쿼리는 empno가 7566인 사원의 급여와 수당을 조회하여 업데이트된 결과를 보여줍니다.

요약

  1. 전체 테이블 복사: create table copy_emp as select * from emp;
  2. 특정 컬럼 복사: create table copy_emp2 as select empno, ename, job, sal from emp where job = 'manager';
  3. 구조만 복사: create table copy_emp3 as select * from emp where 1=0;
  4. 특정 레코드 업데이트: update emp set sal = 4000, comm = 100 where empno = 7566;

이 SQL 작업들은 데이터를 복사하거나 수정할 때 유용하게 사용됩니다.

profile
@mgkick

0개의 댓글