Q.EMP 테이블에서 sal이 3000이상인 사원의 empno, ename, job, sal을 조회하는 SELECT 문장을 작성
A.해결
2행의 데이터가 출력
▼코드
select empno, ename, job, sal
from emp
where sal >= 3000;
설명
▼코드
Q.EMP 테이블에서 empno가 7788인 사원의 ename과 deptno를 조회하는 SELECT 문장을 작성
A.해결
결과 출력 안 됨.
▼코드
select ename, deptno
from emp
where empno = 7788;
설명
▼코드
결과 출력 안되는 게 맞음.Q.EMP 테이블에서 hiredate가 1981년 2월 20일 과 1981년 5월 1일 사이에 입사한 사원의 ename, job, hiredate을 조회하는 SELECT 문장을 작성(단 hiredate 순으로 조회)
A.해결
4 행의 데이터가 출력
▼코드
select ename, job, hiredate
from emp
where hiredate>= to_date('1981/02/20','yyyy/mm/dd') and hiredate <= to_date('1981/05/01', 'yyyy/mm/dd')
order by hiredate;
설명
▼코드
- 같은 결과가 나오는 코드.
where between to_date('1981/02/20','yyyy/mm/dd') and to_date('1981/05/01', 'yyyy/mm/dd')
Q.EMP 테이블에서 deptno가 10, 20인 사원의 모든 정보를 조회하는 SELECT 문장을 작성(단 ename순으로 조회)
A.해결
결과가 안 나옴.
▼코드
select *
from emp
where deptno = 10 and 1 deptno = 20
order by ename;
▼코드
where deptno in(10,20)
where deptno = 10 or deptno = 20
Q.EMP 테이블에서 sal이 1500이상이고 deptno가 10, 30인 사원의 ename과 sal를 조회하는 SELECT 문장을 작성(단 HEADING을 employee과 Monthly Salary로 조회)
A.해결
오류 생김.
▼코드
select ename, sal
from emp
where sal >= 1500 and deptno = 10 and deptno = 30
order by heading
해드를 바꾸라는
▼코드
select ename employee, sal "Monthly Salary"
from emp
where sal >= 1500 and deptno = 10 and deptno = 30
(where sal >= 1500 and deptno in (10,30))
Q.EMP 테이블에서 hiredate가 1982년인 사원의 모든 정보를 조회하는 SELECT 문을 작성
A.해결
설명
▼코드
select *
from emp
where hiredate = to_date('1982','yyyy');
자주 쓰이기 때문에 날자로 범위내에 있는 데이터를 뽑아 내는 것은 잘 해야 합니다.
between도 쓸 수 있습니다.
▼코드
select *
from emp
where hiredate like '82%';
(where hiredate >= to_date('1982/01/01;,) and hiredate <= to_date('1982/12/32'.);)
Q.EMP 테이블에서 COMM이 NULL이 아닌 사원의 모든 정보를 조회하는 SELECT 문을 작성
A.해결
4행 데이터 출력
▼코드
select *
from emp
where comm is not null;
Q.EMP 테이블에서 comm이 sal보다 10% 이상 많은 사원에 대하여 ename,sal, comm를 조회하는 SELECT 문을 작성
A.해결
데이터 안 뜸.
▼코드
select ename, sal, comm
from emp
where comm = (sal + sal*0.1);
상여금이 급여보다 많은 사람
▼코드
select ename, sal, comm
from emp
where comm >= sal * 1.1;
Q.EMP 테이블에서 job이 CLERK이거나 ANALYST이고 sal이 1000, 3000, 5000이 아닌 사원의 모든 정보를 조회하는 SELECT 문을 작성
A.해결
오류
▼코드
select *
from emp
where job = 'CLERK' or 'ANALYST' and sal != 1000 or sal != 3000 or sal !=5000;
설명
in을 써보는게 좋습니다.
만약 or 이나 != 를 쓰면 줄 수가 길어집니다.
▼코드
select *
from emp
where job in('CLERK', 'ANALYST') and sal not in (1000, 3000, 5000);
Q.EMP 테이블에서 (ename에 L이 두 자 이상이 포함되어 있고 deptno가 30)이거나 mgr이 7782인 사원의 모든 정보를 조회하는 SELECT 문을 작성
A.해결
설명
▼코드
select *
from emp
where ename like '%L%L%' and deptno = 30 or mgr = 7782;
- 틀린부분 [본문으로]
'JAVA 공책 > 알고리즘 문제' 카테고리의 다른 글
DB(Oracle)_Join_연습문제 (0) | 2018.07.26 |
---|---|
DB(Oracle)_그룹함수_연습문제 (0) | 2018.07.26 |
0723_선생님이 주신 문제. (0) | 2018.07.23 |
문제풀기1 (0) | 2018.07.19 |
실습 해보기 (0) | 2018.07.18 |