select * from emp, dept order by empno;
select
e.empno, e.ename, e.sal, d.dname
from emp e, dept d
where e.deptno = d.deptno
order by e.empno;
select
empno, ename, sal, dname
from emp
inner join dept on emp.deptno = dept.deptno
order by empno;
select
e.empno, e.ename, e.sal, d.deptno, d.dname, d.loc
from emp e, dept d
where
e.deptno = d.deptno
and sal >= 3000;
select * from salgrade;
select *
from emp e, salgrade s
where e.sal between s.losal and s.hisal;
select e1.empno, e1.ename, e1.mgr,
e2.empno as mgr_empno,
e2.ename as mgr_ename
from emp e1, emp e2
where e1.mgr = e2.empno (+)
order by e1.empno;
select e1.empno, e1.ename, e1.mgr,
e2.empno as mgr_empno,
e2.ename as mgr_ename
from emp e1, emp e2
where e1.mgr (+) = e2.empno
order by e1.empno;
select e1.empno, e1.ename, e1.mgr,
e2.empno as mgr_empno,
e2.ename as mgr_ename
from
emp e1 left join emp e2
on e1.mgr = e2.empno
order by
e1.empno;
select e1.empno, e1.ename, e1.mgr,
e2.empno as mgr_empno,
e2.ename as mgr_ename
from
emp e1 right join emp e2
on e1.mgr = e2.empno
order by
e1.empno, mgr_empno;
select sal from emp
where ename = upper('jones');
select * from emp
where sal > 2975;
select * from emp
where sal > (select sal from emp
where ename = upper('jones'));
select * from emp
where hiredate < (select hiredate from emp
where ename = 'CLARK');
select * from emp
where sal in (select max(sal) from emp
group by deptno);
select * from emp
where (deptno, sal) in (select deptno, max(sal) from emp
group by deptno);
select e10.empno, e10.ename, e10.deptno, d.dname, d.loc
from (select * from emp where deptno = 10) e10,
(select * from dept) d
where e10.deptno = d.deptno;
create table kd1Test (
name varchar2(30) not null,
age number
);
select * from kd1test;
create table dept_temp
as select * from dept;
select * from dept_temp;
desc dept_temp;
desc dept;
insert into dept_temp(deptno, dname, loc)
values(50, 'DATABASE', 'SEOUL');
select * from dept_temp;
insert into dept_temp values(60, 'ORACLE', 'GWANGJU');
select * from dept_temp;
delete dept_temp where deptno = 60;
select * from dept_temp;
insert into dept_temp values(60, 'NETWORK', 'BUSAN');
insert into dept_temp(deptno, dname, loc)
values(70, 'WEB', null);
insert into dept_temp(deptno, dname, loc)
values(80, 'MOBILE', '');
insert into dept_temp(deptno, loc)
values(90, 'INCHEON');
select * from dept_temp;
create table emp_temp
as select * from emp where 1 <> 1;
SELECT * FROM emp_temp;
insert into emp_temp(empno, ename, job, mgr, hiredate, sal, comm, deptno)
values(9999, '피카츄', 'PRESIDENT', null, '2001/01/01', 5000, 1000, 10);
insert into emp_temp(empno, ename, job, mgr, hiredate, sal, comm, deptno)
values(1111, '라이츄', 'MANAGER', 9999, '2001-01-05', 4000, null, 20);
insert into emp_temp(empno, ename, job, mgr, hiredate, sal, comm, deptno)
values(2111, '파이리', 'MANAGER', 9999, to_date('07/01/2001', 'DD/MM/YYYY'), 4000, null, 20);
insert into emp_temp(empno, ename, job, mgr, hiredate, sal, comm, deptno)
values(3111, '꼬부기', 'MANAGER', 9999, sysdate, 4000, null, 30);
insert into emp_temp(empno, ename, job, mgr, hiredate, sal, comm, deptno)
select e.empno, e.ename, e.job, e.mgr, e.hiredate, e.sal, e.comm, e.deptno
from emp e, salgrade s
where e.sal between s.losal and s.hisal and s.grade = 1;
SELECT * FROM emp_temp;
create table dept_temp2
as select * from dept;
select * from dept_temp2;
update dept_temp2
set loc = 'SEOUL';
rollback;
select * from dept_temp2;
update dept_temp2
set dname = 'DATABASE', loc = 'SEOUL'
where deptno = 40;
select * from dept_temp2;
commit;
update dept_temp2
set (dname, loc) = (select dname, loc from dept where deptno = 40)
where deptno = 40;
select * from dept_temp2;
delete dept_temp2;
delete from dept_temp2;
select * from dept_temp2;
rollback;
delete from dept_temp2 where deptno = 30;
commit;
select * from employees;
select e1.employee_id, e1.last_name, e1.manager_id,
e2.employee_id as mgr, e2.last_name as mgr_name
from employees e1, employees e2
where e1.manager_id = e2.employee_id;
SELECT * FROM locations;
SELECT * FROM departments;
SELECT * FROM employees;
select
e.employee_id as "사원번호",
e.first_name || ' ' || e.last_name as "FULL NAME",
d.department_name as "부서명",
l.city as "사는 도시"
from locations l, departments d, employees e
where
e.department_id = d.department_id
and
l.location_id = d.location_id;
select
e.employee_id as "사원번호",
e.first_name || ' ' || e.last_name as "FULL NAME",
d.department_name as "부서명",
l.city as "사는 도시"
from
employees e
left join departments d on e.department_id = d.department_id
left join locations l on d.location_id = l.location_id
order by e.employee_id;
select tname from tab;
select * from employees;
select
FIRST_NAME || ' ' || LAST_NAME as "FULL_NAMe", job_id,
decode(job_id,
'AD_PRESS', 'A',
'ST_MAN', 'B',
'IT_PROG', 'C',
'SA_REP', 'D',
'ST_CLERK', 'E',
0) as JOB_GRADE
from employees;
select max(salary) as "최대 연봉", min(salary) as "최소 연봉", sum(salary) as "연봉 총합", round(avg(salary)) as "평균 연봉"
from employees;
select count(distinct manager_id)
from employees;
select (max(salary)-min(salary)) as "연봉 차이"
from employees;
select employee_id, first_name || ' ' || last_name as "FULL_NMAE", phone_number
from employees
where phone_number LIKE '515%'
order by "FULL_NMAE";
select job_id, count(job_id)
from employees
group by job_id;
select * from employees;
select department_id, sum(salary) as "부서별 연봉 총 합계"
from employees
where department_id is not null
group by department_id
having sum(salary) >= 10000
order by department_id ASC;
SELECT
employee_id, first_name || ' ' || last_name as "FULL_NAME", department_id, salary as "급여", job_id
FROM employees
order by "급여" desc;
SELECT
first_name || ' ' || last_name as "FULL_NAME", department_id, salary as "급여"
FROM employees
where salary >= 10000;
SELECT
first_name || ' ' || last_name as "FULL_NAME", hire_date as "입사일", department_id, salary as "급여"
FROM employees
where department_id is null;
SELECT
department_id, count(*), sum(salary)
FROM employees
group by department_id
having count(*) > 4;
select department_id, round(avg(salary)), sum(salary)
from employees
group by department_id
having max(salary) >= 10000;
select * from employees;
select employee_id, last_name
from employees
where salary > (select round(avg(salary)) from employees);
select employee_id, last_name
from employees
where department_id in (select distinct department_id from employees
where last_name like ('%u%'));
select * from employees;
select * from departments;
select * from locations;
select e.first_name || ' ' || e.last_name as "name", e.department_id, d.department_name
from employees e, departments d
where e.department_id = d.department_id (+);
select e.first_name || ' ' || e.last_name as "name", e.job_id, d.department_name
from employees e, departments d
where e.department_id = d.department_id (+) and e.department_id = 30;
select e.first_name || ' ' || e.last_name as "name", e.job_id, d.department_id ,d.department_name
from employees e, departments d
where e.department_id = d.department_id (+) and e.commission_pct is not null;
select e.first_name || ' ' || e.last_name as "name", e.job_id, d.department_id ,d.department_name
from employees e, departments d
where e.department_id = d.department_id (+) and d.location_id = 2500;
select e.first_name || ' ' || e.last_name as "name", d.department_name
from employees e, departments d
where e.department_id = d.department_id (+) and (e.first_name || ' ' || e.last_name) like '%A%';
select e1.last_name,
e2.employee_id as mgr, e2.last_name as mgr_name
from employees e1, employees e2
where e1.manager_id = e2.employee_id;
select e.first_name || ' ' || e.last_name as "name", d.department_name, e.salary
from employees e, departments d
where e.department_id = d.department_id (+) and e.salary >= 3000
order by salary desc;
select e.first_name || ' ' || e.last_name as "name", d.department_name
from employees e, departments d
where e.department_id = d.department_id (+) and e.salary between 3000 and 5000
order by salary desc;
select e.first_name || ' ' || e.last_name as "name", e.hire_date
from employees e, departments d
where e.department_id = d.department_id (+) and e.department_id = 110;
select e.first_name || ' ' || e.last_name as "name", e.salary, l.city
from employees e
left join departments d on e.department_id = d.department_id
left join locations l on d.location_id = l.location_id
where e.salary <= 3000;
select e.first_name || ' ' || e.last_name as "name", e.salary, l.city
from employees e, departments d, locations l
where e.department_id = d.department_id
and d.location_id = l.location_id
and e.salary <= 3000;