-
-
Save harrylog/43c05eb801ea07755dadc6ca5503ad68 to your computer and use it in GitHub Desktop.
Table EMP and DEPT of SQL Cookbook for MySQL
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
-- Thanks to http://justinsomnia.org/2009/04/the-emp-and-dept-tables-for-mysql/ | |
DROP TABLE IF EXISTS emp; | |
CREATE TABLE emp ( | |
empno decimal(4,0) NOT NULL, | |
ename varchar(10) default NULL, | |
job varchar(9) default NULL, | |
mgr decimal(4,0) default NULL, | |
hiredate date default NULL, | |
sal decimal(7,2) default NULL, | |
comm decimal(7,2) default NULL, | |
deptno decimal(2,0) default NULL | |
); | |
DROP TABLE IF EXISTS dept; | |
CREATE TABLE dept ( | |
deptno decimal(2,0) default NULL, | |
dname varchar(14) default NULL, | |
loc varchar(13) default NULL | |
); | |
INSERT INTO emp VALUES ('7369','SMITH','CLERK','7902','1980-12-17','800.00',NULL,'20'); | |
INSERT INTO emp VALUES ('7499','ALLEN','SALESMAN','7698','1981-02-20','1600.00','300.00','30'); | |
INSERT INTO emp VALUES ('7521','WARD','SALESMAN','7698','1981-02-22','1250.00','500.00','30'); | |
INSERT INTO emp VALUES ('7566','JONES','MANAGER','7839','1981-04-02','2975.00',NULL,'20'); | |
INSERT INTO emp VALUES ('7654','MARTIN','SALESMAN','7698','1981-09-28','1250.00','1400.00','30'); | |
INSERT INTO emp VALUES ('7698','BLAKE','MANAGER','7839','1981-05-01','2850.00',NULL,'30'); | |
INSERT INTO emp VALUES ('7782','CLARK','MANAGER','7839','1981-06-09','2450.00',NULL,'10'); | |
INSERT INTO emp VALUES ('7788','SCOTT','ANALYST','7566','1982-12-09','3000.00',NULL,'20'); | |
INSERT INTO emp VALUES ('7839','KING','PRESIDENT',NULL,'1981-11-17','5000.00',NULL,'10'); | |
INSERT INTO emp VALUES ('7844','TURNER','SALESMAN','7698','1981-09-08','1500.00','0.00','30'); | |
INSERT INTO emp VALUES ('7876','ADAMS','CLERK','7788','1983-01-12','1100.00',NULL,'20'); | |
INSERT INTO emp VALUES ('7900','JAMES','CLERK','7698','1981-12-03','950.00',NULL,'30'); | |
INSERT INTO emp VALUES ('7902','FORD','ANALYST','7566','1981-12-03','3000.00',NULL,'20'); | |
INSERT INTO emp VALUES ('7934','MILLER','CLERK','7782','1982-01-23','1300.00',NULL,'10'); | |
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'); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-- Drop tables if they exist to avoid conflicts
DROP TABLE IF EXISTS emp;
DROP TABLE IF EXISTS dept;
DROP TABLE IF EXISTS T1;
DROP TABLE IF EXISTS T10;
DROP TABLE IF EXISTS T100;
DROP TABLE IF EXISTS T500;
-- Create main tables
CREATE TABLE emp (
empno decimal(4,0) NOT NULL,
ename varchar(10) default NULL,
job varchar(9) default NULL,
mgr decimal(4,0) default NULL,
hiredate date default NULL,
sal decimal(7,2) default NULL,
comm decimal(7,2) default NULL,
deptno decimal(2,0) default NULL
);
CREATE TABLE dept (
deptno decimal(2,0) default NULL,
dname varchar(14) default NULL,
loc varchar(13) default NULL
);
-- Insert main data
INSERT INTO emp VALUES
('7369','SMITH','CLERK','7902','1980-12-17','800.00',NULL,'20'),
('7499','ALLEN','SALESMAN','7698','1981-02-20','1600.00','300.00','30'),
('7521','WARD','SALESMAN','7698','1981-02-22','1250.00','500.00','30'),
('7566','JONES','MANAGER','7839','1981-04-02','2975.00',NULL,'20'),
('7654','MARTIN','SALESMAN','7698','1981-09-28','1250.00','1400.00','30'),
('7698','BLAKE','MANAGER','7839','1981-05-01','2850.00',NULL,'30'),
('7782','CLARK','MANAGER','7839','1981-06-09','2450.00',NULL,'10'),
('7788','SCOTT','ANALYST','7566','1982-12-09','3000.00',NULL,'20'),
('7839','KING','PRESIDENT',NULL,'1981-11-17','5000.00',NULL,'10'),
('7844','TURNER','SALESMAN','7698','1981-09-08','1500.00','0.00','30'),
('7876','ADAMS','CLERK','7788','1983-01-12','1100.00',NULL,'20'),
('7900','JAMES','CLERK','7698','1981-12-03','950.00',NULL,'30'),
('7902','FORD','ANALYST','7566','1981-12-03','3000.00',NULL,'20'),
('7934','MILLER','CLERK','7782','1982-01-23','1300.00',NULL,'10');
INSERT INTO dept VALUES
('10','ACCOUNTING','NEW YORK'),
('20','RESEARCH','DALLAS'),
('30','SALES','CHICAGO'),
('40','OPERATIONS','BOSTON');
-- Create pivot tables
CREATE TABLE T1 (id INTEGER);
INSERT INTO T1 VALUES (1);
CREATE TABLE T10 (id INTEGER);
INSERT INTO T10 VALUES
(1), (2), (3), (4), (5),
(6), (7), (8), (9), (10);
CREATE TABLE T100 (id INT);
DELIMITER //
CREATE PROCEDURE fill_T100()
BEGIN
DECLARE counter INT DEFAULT 1;
WHILE counter <= 100 DO
INSERT INTO T100 (id) VALUES (counter);
SET counter = counter + 1;
END WHILE;
END //
DELIMITER ;
CALL fill_T100();
DROP PROCEDURE fill_T100;
CREATE TABLE T500 (id INT);
DELIMITER //
CREATE PROCEDURE fill_T500()
BEGIN
DECLARE counter INT DEFAULT 1;
WHILE counter <= 500 DO
INSERT INTO T500 (id) VALUES (counter);
SET counter = counter + 1;
END WHILE;
END //
DELIMITER ;
CALL fill_T500();
DROP PROCEDURE fill_T500;
-- Verify all tables were created correctly
SELECT 'emp' as table_name, COUNT() as row_count FROM emp
UNION ALL
SELECT 'dept', COUNT() FROM dept
UNION ALL
SELECT 'T1', COUNT() FROM T1
UNION ALL
SELECT 'T10', COUNT() FROM T10
UNION ALL
SELECT 'T100', COUNT() FROM T100
UNION ALL
SELECT 'T500', COUNT() FROM T500;