You are on page 1of 9

create database cms

use cms

CREATE TABLE PMS_DEPARTMENT_DETAILS

(DEPARTMENT_ID INT(2)PRIMARY KEY,DEPARTMENT_NAME VARCHAR(30)NOT NULL,

DEPARTMENT_LOCATION VARCHAR(30)NOT NULL,DEPARTMENT_EXTENSION INT(3) NOT NULL);

-- PMS_MANAGER_DETAILS TABLE

CREATE TABLE PMS_MANAGER_DETAILS

(Manager_ID INT(5) PRIMARY KEY,Manager_Name VARCHAR(30) NOT NULL,

Job VARCHAR(30) NOT NULL,Boss_Code INT(5),Salary BIGINT NOT NULL,

Commission INT(5),DEPARTMENT_ID INT(2));

-- PMS_UNIT_DETAILS TABLE

CREATE TABLE PMS_UNIT_DETAILS

(UNIT_ID VARCHAR(2) PRIMARY KEY,UNIT_NAME VARCHAR(30) NOT NULL,

PIECE_WEIGHT VARCHAR(15) NOT NULL,TOTAL_PIECES INT(3) NOT NULL,

UNIT_WEIGHT INT NOT NULL);

-- PMS_PRODUCT TABLE

CREATE TABLE PMS_PRODUCT

(PRODUCT_ID VARCHAR(5) PRIMARY KEY,PRODUCT_NAME VARCHAR(30) NOT NULL,

DEPARTMENT_ID INT(2));
-- PMS_PRODUCT_UNIT

CREATE TABLE PMS_PRODUCT_UNIT

(PRODUCT_ID VARCHAR(5),UNIT_ID VARCHAR(2));

-- PMS_MANUFACTURING TABLE

CREATE TABLE PMS_MANUFACTURING

(MANFATURE_ID VARCHAR(5) PRIMARY KEY,PRODUCT_ID VARCHAR(5) NOT NULL,

UNIT_ID VARCHAR(5) NOT NULL,QUANTITY INT(7) NOT NULL,AVAILABILITY VARCHAR(3) NOT NULL,

PRODUCT_MANFACTURE_DATE DATE NOT NULL,PRODUCT_EXPIRY_DATE DATE NOT NULL);

-- Tables created successfully

-- PMS DML STATEMENTS

-- INSERT INTO PMS_DEPARTMENT_DETAILS TABLE

INSERT INTO PMS_DEPARTMENT_DETAILS VALUES(10,'MIS','HYDERABAD_ZONE_1',121);

INSERT INTO PMS_DEPARTMENT_DETAILS VALUES(20,'GHEE SECTION','ONGOLE',122);

INSERT INTO PMS_DEPARTMENT_DETAILS VALUES(30,'PROCESSING SECTION','RAJAMUNDRY',123);

INSERT INTO PMS_DEPARTMENT_DETAILS VALUES(40,'BI_PRODUCTS SECTION','SECUNDERABAD',124);

INSERT INTO PMS_DEPARTMENT_DETAILS VALUES(50,'DISPATCH SECTION','HYDERABAD_ZONE_2',125);

INSERT INTO PMS_DEPARTMENT_DETAILS VALUES(60,'CUSTOMER CARE


SECTION','HYDERABAD_ZONE_2',126);

-- INSERT INTO PMS_MANAGER_DETAILS TABLE

INSERT INTO PMS_MANAGER_DETAILS VALUES(7711,'BLAKE','GENERAL


MANAGER',NULL,25000,2500,10);

INSERT INTO PMS_MANAGER_DETAILS VALUES(7722,'LARANCE','DEPUTY GENERAL


MANAGER',7711,28000,1500,10);

INSERT INTO PMS_MANAGER_DETAILS VALUES(7733,'GATES','MANAGER',7722,26750,500,20);


INSERT INTO PMS_MANAGER_DETAILS VALUES(7744,'CALRK','MANAGER',7722,22000,1000,30);

INSERT INTO PMS_MANAGER_DETAILS VALUES(7755,'VINCY','MANAGER',7722,17500,0,40);

INSERT INTO PMS_MANAGER_DETAILS VALUES(7766,'GALE','MANAGER',7722,16500,0,50);

INSERT INTO PMS_MANAGER_DETAILS VALUES(7770,'NANCY','ASSISTANT


MANAGER',7733,30000,500,20);

INSERT INTO PMS_MANAGER_DETAILS VALUES(7771,'GOUD','ASSISTANT


MANAGER',7744,23000,750,30);

INSERT INTO PMS_MANAGER_DETAILS VALUES(7772,'NAIDU','ASSISTANT MANAGER',7755,18500,0,40);

INSERT INTO PMS_MANAGER_DETAILS VALUES(7773,'RAO','ASSISTANT


MANAGER',7766,15000,3000,50);

INSERT INTO PMS_MANAGER_DETAILS VALUES(7774,'RAJU','ASSISTANT


MANAGER',7722,21050,2000,10);

INSERT INTO PMS_MANAGER_DETAILS VALUES(7775,'REDDY','ASSISTANT MANAGER',7722,28500,0,10);

-- INSERT INTO PMS_UNIT_DETAILS TABLE

INSERT INTO PMS_UNIT_DETAILS VALUES('C1','CARTON','235 ML/GMS',20,5);

INSERT INTO PMS_UNIT_DETAILS VALUES('M1','MIN_BOX','25 GMS',20,.5);

INSERT INTO PMS_UNIT_DETAILS VALUES('M2','MAX_BOX','25 GMS',40,1);

INSERT INTO PMS_UNIT_DETAILS VALUES('C2','CAN','19.7 KGS',1,20);

INSERT INTO PMS_UNIT_DETAILS VALUES('T1','TIN','30 GMS',50,1.5);

INSERT INTO PMS_UNIT_DETAILS VALUES('P1','PACK','980 ML',1,1);

INSERT INTO PMS_UNIT_DETAILS VALUES('P2','HALF_PACK','480 ML/GMS',1,0.5);

INSERT INTO PMS_UNIT_DETAILS VALUES('P3','CHOTA_PACK','235 ML/GMS',1,0.25);

-- INSERT INTO PMS_PRODUCT TABLE

INSERT INTO PMS_PRODUCT VALUES('P001','MIXED GHEE',20);

INSERT INTO PMS_PRODUCT VALUES('P002','PANNER',20);

INSERT INTO PMS_PRODUCT VALUES('P003','COOKING BUTTER',20);

INSERT INTO PMS_PRODUCT VALUES('P004','RASAGULLA',40);


INSERT INTO PMS_PRODUCT VALUES('P005','CURD',40);

INSERT INTO PMS_PRODUCT VALUES('P006','DIET MILK',30);

INSERT INTO PMS_PRODUCT VALUES('P007','TONNED MILK',30);

INSERT INTO PMS_PRODUCT VALUES('P008','FAMILY MILK',30);

INSERT INTO PMS_PRODUCT VALUES('P009','STANDERED MILK',30);

INSERT INTO PMS_PRODUCT VALUES('P010','WHOLE MILK',30);

INSERT INTO PMS_PRODUCT VALUES('P011','BUTTER MILK',40);

INSERT INTO PMS_PRODUCT VALUES('P012','DOODH PEDA',40);

INSERT INTO PMS_PRODUCT VALUES('P013','MILK SHAKE',40);

-- INSERT INTO PMS_PRODUCT_UNIT TABLE

INSERT INTO PMS_PRODUCT_UNIT VALUES('P001','C2');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P001','P2');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P001','P3');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P001','P1');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P002','C1');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P002','P1');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P002','P2');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P002','P3');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P006','P1');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P006','P2');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P006','P3');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P007','P1');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P007','P2');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P007','P3');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P008','P1');


INSERT INTO PMS_PRODUCT_UNIT VALUES('P008','P2');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P008','P3');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P009','P1');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P009','P2');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P009','P3');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P010','P1');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P010','P2');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P010','P3');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P003','P2');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P003','P3');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P004','T1');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P005','P3');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P011','P3');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P012','M1');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P012','M2');

INSERT INTO PMS_PRODUCT_UNIT VALUES('P013','C1');

-- INSERT INTO PMS_MANUFACTURING TABLE

INSERT INTO PMS_MANUFACTURING VALUES('M001','P001','C2',100,'YES','2012-08-15','2012-12-15');

INSERT INTO PMS_MANUFACTURING VALUES('M002','P001','P2',500,'YES','2012-08-10','2012-12-15');

INSERT INTO PMS_MANUFACTURING VALUES('M003','P001','P3',250,'YES','2012-08-10','2012-12-15');

INSERT INTO PMS_MANUFACTURING VALUES('M004','P001','P1',300,'NO','2012-08-15','2012-12-15');

INSERT INTO PMS_MANUFACTURING VALUES('M005','P002','C1',190,'YES','2012-08-05','2012-08-31');

INSERT INTO PMS_MANUFACTURING VALUES('M006','P002','P1',500,'YES','2012-08-05','2012-08-31');

INSERT INTO PMS_MANUFACTURING VALUES('M007','P002','P2',250,'YES','2012-08-05','2012-08-31');

INSERT INTO PMS_MANUFACTURING VALUES('M008','P002','P3',500,'YES','2012-08-05','2012-08-31');


INSERT INTO PMS_MANUFACTURING VALUES('M009','P006','P1',4500,'YES','2012-08-15','2012-08-16');

INSERT INTO PMS_MANUFACTURING VALUES('M010','P006','P2',7500,'YES','2012-08-15','2012-08-16');

INSERT INTO PMS_MANUFACTURING VALUES('M011','P006','P3',10000,'YES','2012-08-15','2012-08-16');

INSERT INTO PMS_MANUFACTURING VALUES('M012','P007','P1',4000,'YES','2012-08-15','2012-08-16');

INSERT INTO PMS_MANUFACTURING VALUES('M013','P007','P2',3000,'YES','2012-08-15','2012-08-16');

INSERT INTO PMS_MANUFACTURING VALUES('M014','P007','P3',2500,'YES','2012-08-15','2012-08-16');

INSERT INTO PMS_MANUFACTURING VALUES('M015','P008','P1',7000,'NO','2012-08-15','2012-08-16');

INSERT INTO PMS_MANUFACTURING VALUES('M016','P008','P2',3500,'YES','2012-08-15','2012-08-16');

INSERT INTO PMS_MANUFACTURING VALUES('M017','P008','P3',4500,'YES','2012-08-15','2012-08-16');

INSERT INTO PMS_MANUFACTURING VALUES('M018','P009','P1',1500,'NO','2012-08-15','2012-08-16');

INSERT INTO PMS_MANUFACTURING VALUES('M019','P009','P2',2500,'YES','2012-08-15','2012-08-16');

INSERT INTO PMS_MANUFACTURING VALUES('M020','P009','P3',1000,'YES','2012-08-15','2012-08-16');

INSERT INTO PMS_MANUFACTURING VALUES('M021','P010','P1',10000,'YES','2012-08-15','2012-08-16');

INSERT INTO PMS_MANUFACTURING VALUES('M022','P010','P2',25000,'YES','2012-08-15','2012-08-16');

INSERT INTO PMS_MANUFACTURING VALUES('M023','P010','P3',12500,'YES','2012-08-15','2012-08-16');

INSERT INTO PMS_MANUFACTURING VALUES('M024','P003','P2',2400,'YES','2012-08-10','2012-10-10');

INSERT INTO PMS_MANUFACTURING VALUES('M025','P003','P3',3210,'NO','2012-08-10','2012-10-10');

INSERT INTO PMS_MANUFACTURING VALUES('M026','P004','T1',750,'YES','2012-08-10','2012-12-10');

INSERT INTO PMS_MANUFACTURING VALUES('M027','P005','P3',10000,'YES','2012-08-15','2012-08-17');

INSERT INTO PMS_MANUFACTURING VALUES('M028','P011','P3',27500,'YES','2012-08-15','2012-08-16');

INSERT INTO PMS_MANUFACTURING VALUES('M029','P012','M1',2750,'YES','2012-08-15','2012-08-31');

INSERT INTO PMS_MANUFACTURING VALUES('M030','P012','M2',1850,'NO','2012-08-15','2012-08-31');

INSERT INTO PMS_MANUFACTURING VALUES('M031','P013','C1',1300,'YES','2012-08-10','2012-08-11');


SELECT * FROM PMS_MANAGER_DETAILS

SELECT * FROM PMS_DEPARTMENT_DETAILS

SELECT * FROM PMS_UNIT_DETAILS

SELECT * FROM PMS_PRODUCT

SELECT * FROM PMS_PRODUCT_UNIT

SELECT * FROM PMS_MANUFACTURING

--Find the 2nd Highest Salary Earner of all the Managers. In select list we have
Manager_ID,Manager_Name,Job,Salary,Commission,Department_ID

SELECT MAX(SALARY) FROM PMS_MANAGER_DETAILS WHERE SALARY < (SELECT MAX(SALARY) FROM
PMS_MANAGER_DETAILS)

--Find out the Employees whose name has letter A in the 2nd position & are earning more than the
salary whose name starts with V. In select list we have MANAGER_ID, MANAGER_NAME, JOB, and
SALARY

SELECT MANAGER_ID,MANAGER_NAME,JOB,SALARY FROM PMS_MANAGER_DETAILS

WHERE MANAGER_NAME LIKE '_A%'

AND SALARY >(SELECT SALARY FROM PMS_MANAGER_DETAILS WHERE MANAGER_NAME LIKE 'V%')
--Add 7.5% of salary as performance bonus for each employee and display the net yearly salary of each
employee. (Do not update the database.). In select list we have MANAGER_ID, MANAGER_NAME, JOB,
and YEARLY_SALARY

SELECT MANAGER_ID,MANAGER_NAME,JOB,(SALARY*1.075)*12 AS YEARLY_SALARY FROM


PMS_MANAGER_DETAILS

--Display the Manufactured products details that are belong to GHEE SECTION. In select list we have
MANFATURE_ID, PRODUCT_NAME, UNIT_ID, QUANTITY, PRODUCT_MANFACTURE_DATE, and
PRODUCT_EXPIRY_DATE.

Hint: PMS_MANUFACTURING TABLE ALIAS AS M

PMS_PRODUCT TABLE ALIAS AS P

SELECT
M.MANFATURE_ID,P.PRODUCT_NAME,P.PRODUCT_ID,M.UNIT_ID,M.QUANTITY,M.PRODUCT_MANFAC
TURE_DATE,

M.PRODUCT_EXPIRY_DATE FROM PMS_MANUFACTURING M JOIN PMS_PRODUCT P ON


M.PRODUCT_ID=P.PRODUCT_ID

WHERE P.PRODUCT_NAME='MIXED GHEE'

--FIND SUM OF QUANTITY WITH RESPECT TO EACH QUANTITY

SELECT SUM(QUANTITY),PRODUCT_ID FROM PMS_MANUFACTURING GROUP BY PRODUCT_ID

--Find the list of products which are available as on 15-DEC-12.

SELECT PRODUCT_ID,PRODUCT_MANFACTURE_DATE,PRODUCT_EXPIRY_DATE FROM


PMS_MANUFACTURING

WHERE AVAILABILITY='YES' AND PRODUCT_EXPIRY_DATE<'2012-12-15'


--Find the list of products along with their count which are not available as on 15-DEC-12. In select
query COUNT_PRODUCT as an alias for count field

SELECT COUNT(PRODUCT_ID) AS COUNT_PRODUCT FROM PMS_MANUFACTURING

WHERE AVAILABILITY='NO' AND PRODUCT_EXPIRY_DATE<'2012-12-15'

--Find the employees with higher salary than the average salary of MANAGER and those are all not
MANAGERS. In select list we have Manager_ID, Manager_Name and their Job details.

SELECT MANAGER_ID,MANAGER_NAME,JOB,SALARY FROM PMS_MANAGER_DETAILS

WHERE JOB NOT IN ('MANAGER') AND SALARY > (SELECT AVG(SALARY) FROM PMS_MANAGER_DETAILS

WHERE JOB='MANAGER')

--Display the manager details who are drawing the salary more than 20000 Rs/-. And we need to display
the manager name in proper case and order by department wise. In select list we have Manager_ID,
Manager_Name and Department_ID

SELECT MANAGER_ID,MANAGER_NAME,DEPARTMENT_ID FROM PMS_MANAGER_DETAILS

WHERE SALARY > 20000 GROUP BY DEPARTMENT_ID

You might also like