Last active
September 29, 2018 08:55
-
-
Save alswl/ad825a970054bb8c4ac4cc1e40c52495 to your computer and use it in GitHub Desktop.
EMP and DEPT Oracle / MySQL, via https://livesql.oracle.com/apex/livesql/file/content_O5AEB2HE08PYEPTGCFLZU9YCV.html https://apexplained.wordpress.com/2013/04/20/the-emp-and-dept-tables-in-oracle/ http://www.cems.uwe.ac.uk/~pchatter/resources/html/emp_dept_data+schema.html
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DROP TABLE IF EXISTS dept; | |
DROP TABLE IF EXISTS salgrade; | |
DROP TABLE IF EXISTS emp; | |
CREATE TABLE salgrade( | |
grade int(4) not null primary key, | |
losal decimal(10,2), | |
hisal decimal(10,2)); | |
CREATE TABLE dept( | |
deptno int(2) not null primary key, | |
dname varchar(50) not null, | |
location varchar(50) not null); | |
CREATE TABLE emp( | |
empno int(4) not null primary key, | |
ename varchar(50) not null, | |
job varchar(50) not null, | |
mgr int(4), | |
hiredate date, | |
sal decimal(10,2), | |
comm decimal(10,2), | |
deptno int(2) not null); | |
insert into dept values (10,'Accounting','New York'); | |
insert into dept values (20,'Research','Dallas'); | |
insert into dept values (30,'Sales','Chicago'); | |
insert into dept values (40,'Operations','Boston'); | |
insert into emp values (7369,'SMITH','CLERK',7902,'93/6/13',800,0.00,20); | |
insert into emp values (7499,'ALLEN','SALESMAN',7698,'98/8/15',1600,300,30); | |
insert into emp values (7521,'WARD','SALESMAN',7698,'96/3/26',1250,500,30); | |
insert into emp values (7566,'JONES','MANAGER',7839,'95/10/31',2975,null,20); | |
insert into emp values (7698,'BLAKE','MANAGER',7839,'92/6/11',2850,null,30); | |
insert into emp values (7782,'CLARK','MANAGER',7839,'93/5/14',2450,null,10); | |
insert into emp values (7788,'SCOTT','ANALYST',7566,'96/3/5',3000,null,20); | |
insert into emp values (7839,'KING','PRESIDENT',null,'90/6/9',5000,0,10); | |
insert into emp values (7844,'TURNER','SALESMAN',7698,'95/6/4',1500,0,30); | |
insert into emp values (7876,'ADAMS','CLERK',7788,'99/6/4',1100,null,20); | |
insert into emp values (7900,'JAMES','CLERK',7698,'00/6/23',950,null,30); | |
insert into emp values (7934,'MILLER','CLERK',7782,'00/1/21',1300,null,10); | |
insert into emp values (7902,'FORD','ANALYST',7566,'97/12/5',3000,null,20); | |
insert into emp values (7654,'MARTIN','SALESMAN',7698,'98/12/5',1250,1400,30); | |
insert into salgrade values (1,700,1200); | |
insert into salgrade values (2,1201,1400); | |
insert into salgrade values (3,1401,2000); | |
insert into salgrade values (4,2001,3000); | |
insert into salgrade values (5,3001,99999); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- DDL | |
create table dept( | |
deptno number(2,0), | |
dname varchar2(14), | |
loc varchar2(13), | |
constraint pk_dept primary key (deptno) | |
); | |
create table emp( | |
empno number(4,0), | |
ename varchar2(10), | |
job varchar2(9), | |
mgr number(4,0), | |
hiredate date, | |
sal number(7,2), | |
comm number(7,2), | |
deptno number(2,0), | |
constraint pk_emp primary key (empno), | |
constraint fk_deptno foreign key (deptno) references dept (deptno) | |
); | |
/* | |
create table bonus( | |
ename varchar2(10), | |
job varchar2(9), | |
sal number, | |
comm number | |
); | |
create table salgrade( | |
grade number, | |
losal number, | |
hisal number | |
); | |
*/ | |
-- DML | |
insert into dept | |
values(10, 'ACCOUNTING', 'NEW YORK'); | |
insert into dept | |
values(20, 'RESEARCH', 'DALLAS'); | |
insert into dept | |
values(30, 'SALES', 'CHICAGO'); | |
insert into dept | |
values(40, 'OPERATIONS', 'BOSTON'); | |
insert into emp | |
values( | |
7839, 'KING', 'PRESIDENT', null, | |
to_date('17-11-1981','dd-mm-yyyy'), | |
5000, null, 10 | |
); | |
insert into emp | |
values( | |
7698, 'BLAKE', 'MANAGER', 7839, | |
to_date('1-5-1981','dd-mm-yyyy'), | |
2850, null, 30 | |
); | |
insert into emp | |
values( | |
7782, 'CLARK', 'MANAGER', 7839, | |
to_date('9-6-1981','dd-mm-yyyy'), | |
2450, null, 10 | |
); | |
insert into emp | |
values( | |
7566, 'JONES', 'MANAGER', 7839, | |
to_date('2-4-1981','dd-mm-yyyy'), | |
2975, null, 20 | |
); | |
insert into emp | |
values( | |
7788, 'SCOTT', 'ANALYST', 7566, | |
to_date('13-JUL-87','dd-mm-rr') - 85, | |
3000, null, 20 | |
); | |
insert into emp | |
values( | |
7902, 'FORD', 'ANALYST', 7566, | |
to_date('3-12-1981','dd-mm-yyyy'), | |
3000, null, 20 | |
); | |
insert into emp | |
values( | |
7369, 'SMITH', 'CLERK', 7902, | |
to_date('17-12-1980','dd-mm-yyyy'), | |
800, null, 20 | |
); | |
insert into emp | |
values( | |
7499, 'ALLEN', 'SALESMAN', 7698, | |
to_date('20-2-1981','dd-mm-yyyy'), | |
1600, 300, 30 | |
); | |
insert into emp | |
values( | |
7521, 'WARD', 'SALESMAN', 7698, | |
to_date('22-2-1981','dd-mm-yyyy'), | |
1250, 500, 30 | |
); | |
insert into emp | |
values( | |
7654, 'MARTIN', 'SALESMAN', 7698, | |
to_date('28-9-1981','dd-mm-yyyy'), | |
1250, 1400, 30 | |
); | |
insert into emp | |
values( | |
7844, 'TURNER', 'SALESMAN', 7698, | |
to_date('8-9-1981','dd-mm-yyyy'), | |
1500, 0, 30 | |
); | |
insert into emp | |
values( | |
7876, 'ADAMS', 'CLERK', 7788, | |
to_date('13-JUL-87', 'dd-mm-rr') - 51, | |
1100, null, 20 | |
); | |
insert into emp | |
values( | |
7900, 'JAMES', 'CLERK', 7698, | |
to_date('3-12-1981','dd-mm-yyyy'), | |
950, null, 30 | |
); | |
insert into emp | |
values( | |
7934, 'MILLER', 'CLERK', 7782, | |
to_date('23-1-1982','dd-mm-yyyy'), | |
1300, null, 10 | |
); | |
/* | |
insert into salgrade | |
values (1, 700, 1200); | |
insert into salgrade | |
values (2, 1201, 1400); | |
insert into salgrade | |
values (3, 1401, 2000); | |
insert into salgrade | |
values (4, 2001, 3000); | |
insert into salgrade | |
values (5, 3001, 9999); | |
*/ | |
commit; | |
-- Query | |
select ename, dname, job, empno, hiredate, loc | |
from emp, dept | |
where emp.deptno = dept.deptno | |
order by ename | |
select dname, count(*) count_of_employees | |
from dept, emp | |
where dept.deptno = emp.deptno | |
group by DNAME | |
order by 2 desc | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment