SQL 16일차(필기시험)

한희수·2023년 4월 4일
0

빅데이터 분석 SQL

목록 보기
16/17

20230404

  1. 다음 SELECT 문장에서 Column Header로 출력되는 것은? ( 3 )

    SELECT employee_id, first_name||last_name "Employee Name"
    FROM employees;

① employee_id, employee name
② Employee_id, Employee Name
③ EMPLOYEE_ID, Employee Name
④ EMPLOYEE_ID, EMPLOYEE NAME

  1. 다음 QUERY의 결과는 몇개의 column인가? ( 1 )

    SELECT 'a'||'b'||'C' "Result" FROM dual;

① 1
② 3

  1. 중복 행을 제거 할 때 사용하는 키워드는? ( 2 )
    ① ALL
    ② DISTINCT
    ③ NVL
    ④ COALESCE

  2. SELECT문의 기능이 아닌 것은? ( 4 )
    ① 프로젝션(PROJECTION)
    ② 선택(SELECTION)
    ③ 조인(JOIN)
    ④ 엔티티(ENTITY) -- 모델링(테이블 디자인, ERD)

  3. SQL문 작성시 틀린 것은? ( 3 )
    ① SQL문은 대소문자를 구분하지 않습니다. 하지만 성능을 생각하면 대소문자를 구분해서 작성하자
    ② 절은 일반적으로 서로 다른줄에 씁니다.
    ③ 키워드는 약어로 사용할 수 있습니다.
    ④ 들여쓰기를 사용하면 SQL문을 좀더 읽기 쉽게 작성할 수 있습니다.


  1. SELECT employee_id, last_name, department_id as dept_id
    FROM employees
    ORDER BY ( );
    이 SELECT문은 부서번호로 sort하기를 원한다. ( )에 사용하기에 적당한 것들은 (세 가지)? ( 2, 3, 6 )

① employee_id
② department_id
③ dept_id
④ 2
⑤ "Dept_id"
⑥ 3

  1. 문자함수에 대한 설명이 틀린것은 ? ( 3 )

① length : 문자 길이를 반환하는 함수
② upper : 대문자로 변환하는 함수
③ replace : 문자를 추출하는 함수
④ instr : 문자의 위치값을 반환하는 함수

  1. 다음 문장을 실행한 결과로 맞는 것은? ( 2 )
    SELECT ROUND(45.926,2)
    FROM DUAL;
    ① 45.92
    ② 45.93
    ③ 45
    ④ 46

  2. 다음 중 어떤 함수가 IF-THEN-ELSE문장과 유사한가? ( 2 )
    ① SQRT
    ② DECODE
    ③ NEW_LINE
    ④ NVL

  3. SELECT last_name, (salary + commission_pct ) * 12, NVL(hiredate, '2001-01-01')
    FROM employees;
    위의 문장을 실행할 때 last_name = 'King', salary = 1000, commission_pct = NULL, hiredate = NULL 인 경우 결과는? ( 3 )

① King, 1000,
② King, 12000, 2001-01-01
③ King, , 2001-01-01
④ King, ,

  1. 다음 SQL 명령문에서 ERROR가 발생하는 행의 번호는? ( 2 )
    ① SELECT e.employee_id,
    ② employees.last_name,
    ③ e.department_id,
    ④ d.department_id
    ⑤ FROM employees e, departments d
    ⑥ WHERE e.department_id = d.department_id ;

  2. 다음 SQL 명령문에서 ERROR가 발생하는 행의 번호는? ( 4 )
    ① SELECT department_id, sum(salary) "Salary"
    ② FROM employees
    ③ GROUP BY department_id
    ④ WHERE sum(salary) > 10000;

  3. 모든 DATATYPE에 가능한 GROUP 함수들은 (세 가지)? ( 2, 3, 4 )
    ① AVG
    ② MIN
    ③ MAX
    ④ COUNT
    ⑤ STDDEV
    ⑥ VARIANCE
    ⑦ SUM

  4. auto commit이 발생하는 경우는? (다섯개) (3, 4, 6, 7, 8)
    ① select from employees ;
    ② insert into test(id,name) values (1,'james');
    ③ create table x as select
    from employees;
    ④ SQL*PLUS의 종료 시(exit)
    ⑤ delete from emp;
    ⑥ revoke select on test_tbl from hr;
    ⑦ grant select on test_tbl to hr;
    ⑧ alter table test_tbl modify last_name not null;

  1. 날짜 계산의 결과가 틀린 것은? ( 4 )
    ① DATE + NUMBER = DATE
    ② DATE - NUMBER = DATE
    ③ DATE - DATE = NUMBER
    ④ DATE + DATE = DATE

  2. 다음 문장을 실행하는 경우 서브쿼리내에 NULL값이 포함되어 있다면 메인쿼리의 실행결과는 어떻게 되겠는가? ( 1 )

SELECT last_name
FROM employees
WHERE employee_id NOT IN
(SELECT manager_id
FROM employees);
① no rows selected
② 정상적 수행

  1. 서브쿼리의 결과 집합에 행이 있는지 여부를 검사하여 행이 있으면 TRUE를 반환하는 연산자는? ( 2 )
    ① NOT IN
    ② EXISTS
    ③ NOT EXISTS
    ④ ALL

  2. 두 날짜 간의 달수를 반환하는 함수는? ( 1 )
    ① MONTHS_BETWEEN
    ② ADD_MONTHS
    ③ NEXT_DAY
    ④ LAST_DAY

  1. 다음 문장이 하는 일은? ( 2 )

ALTER TABLE emp MODIFY (title VARCHAR2(20));

① emp table에 title column을 추가한다.
② emp table에 title column의 TYPE과 SIZE를 변경한다.
③ emp table에 title column의 제약조건을 삭제한다.
④ emp table에 title column의 제약조건을 추가한다

  1. 다음의 SQL 명령문을 순서대로 실행했을 때 database에 영구적으로 반영되는 문장은? ( 4 )
    1) INSERT INTO employees (employee_id, last_name, department_id) VALUES (9999, ‘Smith’, 10);
    2) SAVEPOINT a;
    3) DELETE employees WHERE employee_id = 100;
    4) SAVEPOINT b;
    5) UPDATE employees SET last_name = ‘Clark’;
    6) ROLLBACK TO SAVEPOINT a;
    7) INSERT INTO employees (employee_id, last_name, department_id) VALUES (8888, ‘Thomas’, 30);
    8) SAVEPOINT c;
    9) DELETE employees WHERE department_id = 20;
    10) COMMIT;

① 1, 3, 5, 7, 9번
② 1, 3, 5, 7번
③ 3, 5, 7, 9번
④ 1, 7, 9번

0개의 댓글