[SQL] 서브쿼리를 사용한 입력

·2025년 7월 10일
0

SQL

목록 보기
100/126

문제1. emp 테이블과 구조가 같은 테이블을 생성하시오

create  table  emp_new
as
 select *
  from emp
  where 1 = 2;
  
select * from emp_new;

OLPT DB ————————————> DW DB
emp
emp_new

insert into emp_new
select *
 from emp;
 
select * from emp_new;

문제2. dept 테이블과 구조가 같은데 데이터는 없는 dept_new 테이블을 생성하시오

create  table dept_new
as
 select *
  from dept
  where 1 = 2;
  
select * from dept_new;

문제3. dept 테이블의 모든 데이터를 dept_new 테이블에 입력하시오

insert into dept_new
select *
 from dept;
 
select * from dept_new;

호스트 이름 조회 방법

  1. 호스트 이름
  2. 포트번호
  3. 서비스 이름

1. 나의 이름의 영어 약자로 테이블을 생성합니다.

create  table  emp_내 이니셜
as
 select  *
  from emp
  where 1 = 2; 
  
 select * from emp_내 이니셜;

2. sqlnet.ora 파일을 열어서 아래의 내용을 추가하고 저장합니다.

SQLNET.AUTHENTICATION_SERVICES = (NONE)

sqlnet.ora 파일의 위치:
C:\app\itwill\product\21c\homes\OraDB21Home1\network\admin

3. 내 피씨의 방화벽을 잠시 해제합니다.

문제4. 다른 테이블에 접근할 수 있도록 db 링크를 생성하시오

create  database  link  영문약자_link
connect to 아이디
identified by 비밀번호 
using '호스트명:1521/xe';
drop database link 영문약자_link;

create  database  link  영문약자_link
connect to 아이디
identified by 비밀번호 
using 'DESKTOP-7RIM0NC:1521/xe';

select * from emp_영문약자@영문약자_link;

insert into emp_영문약자@영문약자_link
select *
 from emp;
 
commit;

select * from emp_영문약자@영문약자_link;

다시 방화벽을 설정합니다.


MySQL

CREATE USER 'scott'@'localhost' IDENTIFIED BY 'tiger';


GRANT ALL PRIVILEGES ON *.* TO 'scott'@'localhost' WITH GRANT OPTION;

FLUSH PRIVILEGES;

mysql 용 테이블 생성 스크립트

drop table emp;

drop table dept;

CREATE TABLE DEPT
       (DEPTNO int,
        DNAME VARCHAR(14),
        LOC VARCHAR(13) );


INSERT INTO DEPT VALUES (10, 'ACCOUNTING', 'NEW YORK');
INSERT INTO DEPT VALUES (20, 'RESEARCH',   'DALLAS');
INSERT INTO DEPT VALUES (30, 'SALES',      'CHICAGO');
INSERT INTO DEPT VALUES (40, 'OPERATIONS', 'BOSTON');

select * from dept;

drop table emp;

CREATE TABLE EMP (
 EMPNO                int not null,
 ENAME               VARCHAR(10),
 JOB                 VARCHAR(9),
 MGR                 int ,
 HIREDATE            DATE,
 SAL                 int,
 COMM                int,
 DEPTNO              int );


INSERT INTO EMP VALUES (7839,'KING','PRESIDENT',NULL,'81-11-17',5000,NULL,10);
INSERT INTO EMP VALUES (7698,'BLAKE','MANAGER',7839,'81-05-01',2850,NULL,30);
INSERT INTO EMP VALUES (7782,'CLARK','MANAGER',7839,'81-05-09',2450,NULL,10);
INSERT INTO EMP VALUES (7566,'JONES','MANAGER',7839,'81-04-01',2975,NULL,20);
INSERT INTO EMP VALUES (7654,'MARTIN','SALESMAN',7698,'81-09-10',1250,1400,30);
INSERT INTO EMP VALUES (7499,'ALLEN','SALESMAN',7698,'81-02-11',1600,300,30);
INSERT INTO EMP VALUES (7844,'TURNER','SALESMAN',7698,'81-08-21',1500,0,30);
INSERT INTO EMP VALUES (7900,'JAMES','CLERK',7698,'81-12-11',950,NULL,30);
INSERT INTO EMP VALUES (7521,'WARD','SALESMAN',7698,'81-02-23',1250,500,30);
INSERT INTO EMP VALUES (7902,'FORD','ANALYST',7566,'81-12-11',3000,NULL,20);
INSERT INTO EMP VALUES (7369,'SMITH','CLERK',7902,'80-12-09',800,NULL,20);
INSERT INTO EMP VALUES (7788,'SCOTT','ANALYST',7566,'82-12-22',3000,NULL,20);
INSERT INTO EMP VALUES (7876,'ADAMS','CLERK',7788,'83-01-15',1100,NULL,20);
INSERT INTO EMP VALUES (7934,'MILLER','CLERK',7782,'82-01-11',1300,NULL,10);

commit;

select count(*) from emp;

0개의 댓글