728x90
반응형
SMALL

문제/SQL 28

231027 PL/SQL 복습 겸 문제

[문제] 사원번호를 입력값으로 받아서 그 사원의 급여를 출력하는 프로그램을 작성합니다. 또한, 급여 1000당 별(*) 하나를 출력해주세요. 내가 작성한 코드) DECLARE v_id hr.employees.employee_id%TYPE; v_sal hr.employees.salary%TYPE; v_str varchar2(20) := NULL; BEGIN SELECT employee_id, salary INTO v_id, v_sal FROM hr.employees WHERE employee_id = 200; FOR i IN 1 .. (v_sal/1000) LOOP v_str := v_str||'*'; END LOOP; DBMS_OUTPUT.PUT_LINE('사원번호 : '||v_id); DBMS_OUTP..

문제/SQL 2023.10.30

231026 PL/SQL 복습 겸 문제

[문제] 1부터 100까지 합을 출력해주세요. DECLARE i number := 1; i_sum number := 0; BEGIN LOOP i := i + 1; i_sum := i_sum + i; IF i > 101 THEN EXIT; END IF; END LOOP; dbms_output.put_line('i_sum : '||i_sum); END; / 정답) DECLARE v_cnt number := 1; -- 1부터 시작 v_sum number := 0; -- 누적합 BEGIN LOOP v_sum := v_sum+v_cnt; exit when v_cnt = 100; v_cnt := v_cnt+1; END LOOP; dbms_output.put_line('1부터 100까지의 합 : '||v_sum); ..

문제/SQL 2023.10.26

231024 Oracle SQL 실기 TEST's 오답노트

[문제1] 입사한 월을 출력하고 월별 입사자 수를 1월부터 12월 까지 순서대로 출력하시오. SELECT to_char(hire_date, 'mm"월"') 입사한월, count(*) FROM hr.employees GROUP by to_char(hire_date, 'mm"월"') ORDER BY 1; 정답) A. SELECT month||'월' 월, cnt 인원수 FROM ( SELECT to_number(to_char(hire_date, 'mm')) month , count(*) cnt FROM hr.employees GROUP by to_number(to_char(hire_date, 'mm')) ORDER BY 1 ); B. SELECT month||'월' 월, cnt 인원수 FROM ( SELECT..

문제/SQL 2023.10.24

231024 Oracle SQL 필기 TEST's 오답노트

1. 다음 SELECT 문장에서 Column Header 로 출력되는 것은? 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 '내 멋대로'의 해설) 'Column Header' 는 실행창에서의 출력되는 컬럼이다. 1. 컬럼은 대·소문자 구분을 하지 않는다. 2. 컬럼의 별칭의 경우에는 대·소문자 구분을 한다. 단, 어떻게 쓰느냐에 따라 다르다. 별칭에 큰따옴표를 쓰게 되면 쓰게 된 글자 그대로 출력된다. SELECT ..

문제/SQL 2023.10.24

23.10.17. Class 복습 겸 문제

[문제] 최고 급여를 받는 사원의 정보, 부서 이름 정보를 출력해주세요. 1) subquery, inline view, join 1#. subquery SELECT * FROM hr.employees WHERE salary = '최고급여'; " + " SELECT MAX(salary) FROM hr.employees ; " ↓ " SELECT * FROM hr.employees WHERE salary = ( SELECT MAX(salary) FROM hr.employees ); " + " SELECT department_name FROM hr.departments WHERE department_id = '변수'; " ↓ " 2#. inline view SELECT * FROM ( SELECT * FROM..

문제/SQL 2023.10.17

23.10.13. Class 복습 겸 문제

SQL 실행순서 FROM > ON > JOIN > WHERE > GROUP BY > HAVING > SELECT > ORDER BY tip) ON절의 조건인 JOIN이 되면서 실행되고, WHERE절의 조건은 JOIN이 모두 끝나고 나서 실행됩니다. ON과 WHERE를 같이 사용할 때와, ON만 사용할 때의 결과가 같다면 ON만 사용하는 것이 좋다. [문제1] 2006년도에 입사한 사원들의 부서이름별 급여의 총액, 평균을 출력해주세요. 1) 오라클 버전 SELECT d.department_name 부서명, SUM(e.salary) 총액급여, ROUND(AVG(e.salary)) 평균 급여 FROM hr.employees e, hr.departments h WHERE e.hire_date >= to_date..

문제/SQL 2023.10.13

23.10.11. Class 복습 겸 문제

[문제1] 2005년도에 홀수달에 입사한 사원들의 정보를 출력해주세요. DESC employees SELECT * FROM nls_session_parameters; -- 홀수달 계산 SELECT to_char(hire_date, 'mm') , -- 문자타입(왼쪽) mod(to_number(to_char(hire_date, 'mm')),2) , -- 문자타입(to_char)을 숫자타입(to_number)을 변형후에 mod()함수 사용하기 salary -- 숫자타입(오른쪽) FROM hr.employees; [방법1] BETWEEN - AND SELECT * FROM hr.employees WHERE hire_date BETWEEN to_date('2005/01/01', 'yyyy/mm/dd') AND t..

문제/SQL 2023.10.11
728x90
반응형
LIST