[1번]locations 테이블에서 country_id = 'UK'인 행만 조회하는 인라인 뷰에 새 행을 삽입하시오. (location_id=3300, city='Cardiff', country_id='UK')
결과 예시
💡 키포인트
INSERT INTO (subquery) VALUES — 인라인 뷰에 단일 행 삽입. 서브쿼리가 참조하는 기반 테이블(locations)에 실제 데이터가 삽입됩니다.
[2번]departments 테이블과 locations 테이블을 조인한 인라인 뷰(location_id, city, department_name)에 새 행을 삽입하시오. (location_id=9999, city='TestCity', department_name='Test Dept')
결과 예시
💡 키포인트
INSERT INTO (subquery) 에서 서브쿼리에 조인이 포함되면 key-preserved table이 아닐 수 있어 삽입이 불가합니다. 기반 테이블에 직접 삽입합니다.
[3번]INSERT INTO ... SELECT를 사용하여 employees 테이블에서 department_id = 80인 직원들을 emp_backup 테이블에 복사하시오.
결과 예시
💡 키포인트
INSERT INTO ... SELECT — 서브쿼리 결과(다중 행)를 대상 테이블에 한 번에 삽입합니다.
[4번]CTAS(CREATE TABLE AS SELECT)를 사용하여 employees의 구조와 데이터를 모두 복사한 emp_copy 테이블을 생성하시오.
결과 예시
💡 키포인트
CTAS: 테이블 구조 + 데이터를 한 번에 복사합니다. 단, PRIMARY KEY, FOREIGN KEY 등 제약 조건은 복사되지 않습니다.
[5번]employees 테이블에서 salary가 부서 평균 급여를 초과하는 직원들을 high_earners 테이블에 삽입하시오.
결과 예시
💡 키포인트
INSERT INTO ... SELECT와 상관 서브쿼리를 결합하여 부서별 평균 초과 직원을 선별 삽입합니다.
[6번]employees 테이블에서 현재 재직 중인 직원(job_history에 없는 직원)을 current_emp 테이블에 복사하시오.
결과 예시
💡 키포인트
INSERT INTO ... SELECT에 NOT EXISTS 서브쿼리를 결합하여 조건에 맞는 행만 선별 삽입합니다.