Você está na página 1de 8

4th_Class_SQL_12_04_2019

@@@@@@@@@@@@@@@@@@@@@@@@

select employee_id,last_name
from employees
where department_id=30;

select employee_id,last_name,department_name
from employees,departments
where employees.department_id=30
and employees.department_id = departments.department_id
order by 1;

SELECT e.last_name, e.salary, j.grade_level


FROM employees e JOIN job_grades j
ON e.salary BETWEEN j.lowest_sal AND j.highest_sal;

LEFT OUTER JOIN


@@@@@@@@@@@@@@@

select count(*) from departments;

select count(*) from employees;

SELECT e.last_name, e.department_id, d.department_name


FROM employees e JOIN departments d
ON (e.department_id = d.department_id);

select employee_id,last_name,department_name
from employees,departments
where employees.department_id = departments.department_id
order by 1;

select count(department_id) from employees;

SELECT e.last_name, e.department_id, d.department_name


FROM employees e LEFT OUTER JOIN departments d
ON (e.department_id = d.department_id);

LEFT OUTER JOIN


@@@@@@@@@@@@@@@

SELECT e.last_name, e.department_id, d.department_name


FROM employees e LEFT OUTER JOIN departments d
ON (e.department_id = d.department_id);

RIGHT OUTER JOIN


@@@@@@@@@@@@@@@@

SELECT e.last_name, e.department_id, d.department_name


FROM employees e RIGHT OUTER JOIN departments d
ON (e.department_id = d.department_id);

FULL OUTER JOIN


@@@@@@@@@@@@@@@@
SELECT e.last_name, e.department_id, d.department_name
FROM employees e FULL OUTER JOIN departments d
ON (e.department_id = d.department_id);

CROSS JOIN
===========

SELECT last_name, department_name


FROM employees CROSS JOIN departments ;

Lesson : 08
@@@@@@@@@@@

select salary
from employees
where employee_id=120;

select employee_id,last_name,salary
from employees
where salary > 8000;

select employee_id,last_name,salary
from employees
where salary > (select salary
from employees
where employee_id=120);

select employee_id,last_name,salary
from employees
where salary > (select salary
from employees
where employee_id=120)
and employee_id < (select employee_id
from employees
where last_name='Hall');

select employee_id,last_name,salary
from employees
where salary = (select max(salary)
from employees);

SELECT department_id, MIN(salary)


FROM employees
GROUP BY department_id
HAVING MIN(salary) >
(SELECT MIN(salary)
FROM employees
WHERE department_id = 40);

SELECT department_id, MIN(salary)


FROM employees
GROUP BY department_id
HAVING MIN(salary) >
(SELECT MIN(salary)
FROM employees
WHERE department_id = 40)
and department_id is not null;

select employee_id,last_name,salary
from employees
where salary > (select salary
from employees
where department_id=90);

select employee_id,last_name,salary
from employees
where salary > (select salary
from employees
where department_id=9000000);

SELECT employee_id, last_name, job_id, salary


FROM employees
WHERE salary < ANY
(SELECT salary
FROM employees
WHERE job_id = 'IT_PROG')
AND job_id <> 'IT_PROG';

SELECT employee_id, last_name, job_id, salary


FROM employees
WHERE salary < ALL
(SELECT salary
FROM employees
WHERE job_id = 'IT_PROG')
AND job_id <> 'IT_PROG';

SELECT employee_id, last_name, job_id, salary


FROM employees
WHERE salary > ALL
(SELECT salary
FROM employees
WHERE job_id = 'IT_PROG')
AND job_id <> 'IT_PROG'
/

SELECT employee_id,salary,last_name
FROM employees M
WHERE EXISTS
(SELECT employee_id
FROM employees W
WHERE (W.manager_id = M.employee_id));

SELECT employee_id,salary,last_name
FROM employees M
WHERE EXISTS
(SELECT employee_id
FROM employees W
WHERE (W.manager_id = M.employee_id)
AND W.salary > 10000);

SELECT employee_id,salary,last_name
FROM employees M
WHERE NOT EXISTS
(SELECT employee_id
FROM employees W
WHERE (W.manager_id = M.employee_id));

Lesson : 09
===========

desc employees

desc job_history

select employee_id,job_id,department_id
from employees;

select employee_id,job_id,department_id
from job_history;

Union
=====

select employee_id,job_id,department_id
from employees
Union
select employee_id,job_id,department_id
from job_history;

Union All
=========

select employee_id,job_id,department_id
from employees
Union All
select employee_id,job_id,department_id
from job_history;

Intersect
=========

select employee_id,job_id,department_id
from employees
Intersect
select employee_id,job_id,department_id
from job_history;

Minus
=====

select employee_id,job_id,department_id
from employees
Minus
select employee_id,job_id,department_id
from job_history;
select employee_id,job_id,department_id,last_name
from employees
Minus
select employee_id,job_id,department_id
from job_history;

select employee_id,job_id,department_id,last_name
from employees
Minus
select employee_id,job_id,department_id,to_char(null)
from job_history;

select employee_id,job_id,department_id,last_name,null
from employees
Minus
select employee_id,job_id,department_id,to_char(null),start_date
from job_history;

select employee_id,job_id,department_id,last_name,null,salary
from employees
Minus
select employee_id,job_id,department_id,to_char(null),start_date,0
from job_history;

select employee_id,job_id,department_id
from employees
Minus
select employee_id,job_id,department_id
from job_history
order by employee_id;

Lesson : 10
===========

create table emp


(
emp_id number,
emp_name varchar2(60),
salary number,
join_date date default sysdate
);

drop table emp;

desc emp

select *
from emp;

Insert
======
insert into emp(emp_id,emp_name,salary,join_date)
values(1,'Ibcs',12000,'01-jan-12');
insert into emp
values(2,'Primax',12000,'06-jan-12');

insert into emp(emp_id,emp_name)


values(3,'Nur');

insert into emp


values(4,'Soft',null,sysdate);

select user,sysdate
from dual;

insert into emp


values(5,user,null,sysdate);

select nur
from dual;

insert into emp(emp_id,emp_name,salary)


values(6,nur,1000);

insert into emp


values(&emp_id,'&emp_name',&salary,&join_date);

select employee_id,first_name||' '||last_name,salary,hire_date


from employees
where department_id=90;

insert into emp


select employee_id,first_name||' '||last_name,salary,hire_date
from employees
where department_id=90;

Update
======

update emp
set emp_name='Kalam'
where emp_id=5;

update emp
set emp_name='Nur-Soft',
salary=13000
where emp_id=4;

UPDATE emp
SET (salary,join_date) = (SELECT salary,hire_date
FROM employees
WHERE employee_id = 120)
WHERE emp_id = 8;

Delete
======

delete from emp


where emp_id=100;
delete from emp
where emp_id in (select employee_id
from employees);

Truncate table abc;

insert into emp(emp_id,emp_name,salary,join_date)


values(1,'Ibcs',12000,'01-jan-12');

savepoint a;

insert into emp(emp_id,emp_name,salary,join_date)


values(2,'df',12000,'01-jan-12');

savepoint b;

insert into emp(emp_id,emp_name,salary,join_date)


values(3,'szd',12000,'01-jan-12');

savepoint c;

insert into emp(emp_id,emp_name,salary,join_date)


values(4,'ghj',12000,'01-jan-12');

savepoint d;

rollback to savepoint c;

insert into emp(emp_id,emp_name,salary,join_date)


values(1,'Ibcs',12000,'01-jan-12');
insert into emp(emp_id,emp_name,salary,join_date)
values(2,'df',12000,'01-jan-12');
insert into emp(emp_id,emp_name,salary,join_date)
values(3,'szd',12000,'01-jan-12');
insert into emp(emp_id,emp_name,salary,join_date)
values(4,'ghj',12000,'01-jan-12');

update emp
set salary=35000
where emp_id=2;

update emp
set salary=40000
where emp_id=2;

select *
from emp
for update;

Você também pode gostar