inflearn logo
강의

講義

知識共有

ユン・ジェソンのOracle SQL Database 11g PL/SQL Developer

16강 마지막 문제 질문

395

hjryu

投稿した質問数 1

0

16강 case문 사용하는 마지막 문제에서

-직원들의 급여를 다음과 같이 인상한다.

-1000 이하:100%

-1000 초과 2000 미만:50%

-2000 이상:200%라고 되어있는데

select empno, ename,
case when sal<=1000 then sal*2
when sal>1000 and sal<=2000 then sal*0.5
when sal>=2000 then sal*3
end
from emp;

이렇게 알려주셨는데 1000 초과 2000 미만이면 급여 50% 인상이면

select empno, ename,
case when sal<=1000 then sal*2
when sal>1000 and sal<=2000 then sal*1.5
when sal>=2000 then sal*3
end
from emp;

코드가 이렇게 되어야 하는거 아닌가요?

sql oracle PL/SQL dbms/rdbms

回答 2

0

hjryu

확인했습니다. 감사합니다 !

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

해당 질문에 대한 답변은 1000 초과 2000 미만인 직원의 급여를 50% 인상한다는 요구 사항에 대해 문의하셨군요. 제시해 주신 코드에서 급여 계산 부분에 오류가 있습니다. ‘급여를 50% 인상한다’는 말은 현재 급여에 급여의 50%를 더한다는 의미이므로, 급여를 1.5배 해야 올바른 계산이 됩니다. 따라서 올바른 쿼리문은 다음과 같습니다.

select empno, ename,
case when sal <= 1000 then sal * 2        -- 급여가 1000 이하인 경우 100%(2배) 인상
when sal > 1000 and sal < 2000 then sal * 1.5  -- 급여가 1000 초과 2000 미만인 경우 50% 인상
when sal >= 2000 then sal * 2                 -- 급여가 2000 이상인 경우 100%(2배) 인상
end
from emp;

이 쿼리문은 각 조건에 맞게 급여가 인상된 결과를 얻기 위한 것입니다. hjryu님의 질문을 바탕으로 조건에 맞는 올바른 계산 방식을 반영했습니다.

XE 21C 버전 다운받아 사용중인데, 저 테이블들이 없습니다..

0

199

2

급여 최저치 문제

0

217

1

join 에 in을 사용할때.

0

267

1

강의 9:15 초 커미션을 받는 사원 이요

0

300

1

37강 사용자 계정 만들고 추가할 때 오류 발생

0

241

1

PTT 파일

0

409

1

기본 학습 테이블

1

392

1

제약조건 에러 ORA-02270

0

588

1

25강 마지막 문제

0

584

3

오라클 설치 마지막에 비밀번호 설정 시 무한로딩

0

558

1

기본제공되는 테이블 질문

0

564

2

25강 마지막 문제 DALLAS에 근무 하는 조건은 안넣으셨네요

0

354

1

Oracle 설치 관련 여쭤봅니다.

0

354

1

설치 중 Error 발생

0

574

1

왜 제 질문만 무시하시는지 이유가 궁금하네요

0

418

1

블로그

0

330

1

설치가 안됩니다

0

377

0

join 학습 문의

0

272

1

안녕하세요 설치관련 질문입니다.

0

272

1

안녕하세요 서브쿼리 수업중 질문있습니다.

0

200

1

안녕하세요 수업 너무 유익하게 듣고있는 학생입니다.

0

234

1

안녕하세요 2강 오라클 설치질문있습니다

0

352

1

ora-28000 the account is locked 에러 질문 드립니다.

0

624

1

프로시저

1

435

1