오늘의 마지막 문제
문제1. 아래와 같이 결과를 출력하는 SQL을 작성하시오
코드 :
--오늘의 마지막 문제
--문제1. 아래와 같이 결과를 출력하는 SQL을 작성하시오.
select job, lpad(to_char(sum(sal),'9,999'),8,' ') as "토탈월급", lpad(to_char(max(sal),'9,999'),8,' ') as "최대월급", lpad(to_char(min(sal),'9,999'),8,' ') as "최소월급"
from emp
group by job;
문제2. 아래의 OCP 문제를 테스트 하시오
코드 :
--문제2. 아래의 OCP 문제를 테스트 하시오.
select interval '1' day - interval '1' minute from dual; --+000000000 23:59:00.000000000
select systimestamp + interval '1' day from dual; --2026/01/03 16:47:53.923000 +09:00
select interval '1' day - sysdate from dual; --ORA-30081: 날짜시간 또는 간격 연산에 데잍 유형이 부적합합니다.
select interval '1' day + interval '1' month from dual; --ORA-30081: 날짜시간 또는 간격 연산에 데잍 유형이 부적합합니다.
select sysdate * interval '1' day from dual; --ORA-00932 : 일관성 없는 데이터 유형 : NUMBER이(가) 필요하지만 DATE임
문제3. 아래의 OCP 문제를 테스트 하시오
코드 :
--문제3. 아래의 OCP 문제를 테스트 하시오
create table OCP_SALES (
PRODUCT_ID NUMBER(10) NOT NULL,
CUSTOMER_ID NUMBER(10) NOT NULL,
TIME_ID DATE NOT NULL,
CHANNEL_ID NUMBER(5) NOT NULL,
PROMO_ID NUMBER(5) NOT NULL,
QUANTITY_SOLD NUMBER(10,2) NOT NULL,
PRICE NUMBER(10,2),
AMOUNT_SOLD NUMBER(10,2) NOT NULL
);
CREATE TABLE MYSALES (PROD_ID, CUST_ID, QUATITY_SOLD, PRICE)
AS
SELECT PRODUCT_ID, CUSTOMER_ID, QUANTITY_SOLD, PRICE
FROM OCP_SALES
WHERE 1 =2 ;
SELECT * FROM MYSALES;
--테이블 제약조건 확인하기
select * from user_constraints where table_name = 'OCP_SALES';
--테이블 제약조건 확인하기
select * from user_constraints where table_name = 'MYSALES';