Assignment 5: Dbms Lab

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 16

Name: Sudip Mete, Roll: 13000119135, Sec: A

DBMS Lab
Assignment 5
5.1)
i. Create tables for Client, Product, Salesman, Sales__Order, and
Sales__Order__Details and
populate them. Retrieve data by writing queries in SQL using logical operators,
aggregate
operators, group by, having, order by clauses etc.

ii. Create tables for Employee, Company and works and populate them.
Retrieve data by
writing nested queries in SQL using JOIN to combine tables and other operators
like IN,
BETWEEN, LIKE etc.
i)
Insert into CLIENT_MASTER:
INSERT INTO CLIENT_MASTER VALUES('C00001','Shauvik','Kolkata',700002,'WEST
BENGAL',9000);
INSERT INTO CLIENT_MASTER
VALUES('C00002','SAIKAT','Mumbai',755450,'MAHARASHTRA',8000);
INSERT INTO CLIENT_MASTER VALUES('C00004','Shanbid','Kolkata',701001,'WEST
BENGAL',500);
INSERT INTO CLIENT_MASTER
VALUES('C00005','Mohini','Mumbai',700271,'MAHARASTRA',8400);
INSERT INTO CLIENT_MASTER
VALUES('C00006','Sudip','Ranchi',102071,'JHARKHAND',1200);
INSERT INTO CLIENT_MASTER VALUES('C00003','Subir','Patna',600058,'BIHAR',600);
Insert into PRODUCT_MASTER:
INSERT INTO PRODUCT_MASTER VALUES('P001','Mouse',10,400,300);
INSERT INTO PRODUCT_MASTER VALUES('P002','Desktop',10,500,400);
INSERT INTO PRODUCT_MASTER VALUES('P003','Book',5,600,500);
INSERT INTO PRODUCT_MASTER VALUES('P004','Pencil',4,1000,900);
INSERT INTO PRODUCT_MASTER VALUES('P005','Notebook',15,750.5,680);

Insert into SALESMAN_MASTER:


INSERT INTO SALESMAN_MASTER VALUES('S001','Amit','Kolkata',700012,'WEST
BENGAL',3500);
INSERT INTO SALESMAN_MASTER
VALUES('S004','Rakesh','Patna',745134,'BIHAR',3000);
INSERT INTO SALESMAN_MASTER
VALUES('S010','Sunil','Bangalore',152767,'KARNATAKA',4000.58);
INSERT INTO SALESMAN_MASTER
VALUES('S012','Ankit','Mumbai',123456,'MAHARASTRA',3000.0);
INSERT INTO SALESMAN_MASTER VALUES('S015','Rahul','Chennai',975245,'TAMIL
NADU',6019.28);

Insert into SALES_ORDER:


INSERT INTO SALES_ORDER VALUES('O001','C00001','24-JUN-2017','S001','P','01-
JULY-2020');
INSERT INTO SALES_ORDER VALUES('O002','C00002','24-JAN-2020','S010','F','18-
FEB-2021');
INSERT INTO SALES_ORDER VALUES('O003','C00003','11-AUG-1998','S004','P','18-
AUG-1995');
INSERT INTO SALES_ORDER VALUES('O004','C00005','17-SEP-2015','S012','P','16-
OCT-2012');
INSERT INTO SALES_ORDER VALUES('O005','C00006','10-JUN-2014','S015','F','16-
OCT-2018');
Insert into SALES_ORDER_DETAILS:
INSERT INTO SALES_ORDER_DETAILS VALUES('O001','P001',5,6);
INSERT INTO SALES_ORDER_DETAILS VALUES('O003','P004',4,1000);
INSERT INTO SALES_ORDER_DETAILS VALUES('O002','P003',6,300);
INSERT INTO SALES_ORDER_DETAILS VALUES('O004','P005',12,360);
INSERT INTO SALES_ORDER_DETAILS VALUES('O005','P002',50,800);
Q1) List the names of all clients having ‘a’ as the third letter in their
names.
select Client_name from CLIENT_MASTER WHERE Client_name LIKE '__a%';

Q2) List the clients who stay in a city whose first letter is ‘K’.
select * from CLIENT_MASTER WHERE C_City LIKE 'K%';

Q3) List all the clients who stay in ‘Mumbai’ or ‘Kolkata’.


select * from CLIENT_MASTER WHERE C_City='Mumbai' OR C_City='Kolkata';
//implementing ORDER BY clause:
select * from CLIENT_MASTER WHERE C_City='Mumbai' OR C_City='Kolkata' ORDER
BY C_City;

Q4) List all the clients whose BalDue is greater than value 1000.
select * from CLIENT_MASTER WHERE Baldue >=1000;

Q5) List all information from the Sales_Order table for orders placed in
the month of June.
select * from SALES_ORDER WHERE ORDER_DATE LIKE '___JUN%';

Q6) List the order information for Client_no ‘C00001’ and ‘C00003’.
select * from SALES_ORDER WHERE CLIENT_NO = 'C00001' OR CLIENT_NO =
'C00003';
Q7) List products whose selling price is greater than 500 and less than or
equal to 750
select P_desccription from PRODUCT_MASTER WHERE Sell_Price>500 AND
Sell_Price<=750;

Q8) Count the total number of order.


select COUNT(ORDER_NO) from SALES_ORDER;

Q9) Determine the maximum and minimum product prices. Rename the
output as max_price and min_price respectively.

select MAX(Sell_Price) AS max_price, MIN(Sell_Price) AS min_price from


PRODUCT_MASTER;

Q10) Count the number of client who live in Kolkata.


select COUNT(Client_name) from CLIENT_MASTER where C_City='Kolkata';

Q11) Count the number of products having price less than or equal to 500.
select COUNT(Product_number) from PRODUCT_MASTER WHERE Sell_Price<=500;

Q12) List the order number and day on which clients placed their order.
select ORDER_NO,ORDER_DATE from SALES_ORDER;

Q13) List the Order_Date in the format ‘DD-Month-YY’.


select to_char(ORDER_DATE,'DD-Month-YY') from SALES_ORDER;
Q14) List the date, 20 days after today’s date.
SELECT SYSDATE +20 FROM DUAL;

Q15) List name of the client who has maximum BalDue.


select Client_name from CLIENT_MASTER WHERE Baldue = (select MAX(Baldue) from
CLIENT_MASTER);

Q16) Find the difference between maximum BalDue and minimum BalDue.
select MAX(Baldue) - MIN(Baldue) AS Difference from CLIENT_MASTER;
Q17) Add Rs.1000/- with the salary amount of every salesmen.
update SALESMAN_MASTER set Sal_Amt = Sal_Amt + 1000;
5.2)
EMPLOYEE:
create table EMPLOYEE(emp_no varchar2(6) primary key CHECK(emp_no LIKE 'E%'),
emp_name varchar2(20) NOT NULL, dob Date, sex char(1) DEFAULT 'M'
CHECK( sex='M' OR sex='F'), address varchar2(20), salary number(10,2) );

COMPANY:
create table COMPANY(comp_no varchar2(6) primary key CHECK(comp_no LIKE 'C%'),
Co_name varchar2(15) NOT NULL, Co_address varchar2(20) );

WORKS:
create table WORKS(emp_no REFERENCES EMPLOYEE(emp_no) ON DELETE
CASCADE, comp_no REFERENCES COMPANY(comp_no) ON DELETE CASCADE);
INSERT INTO EMPLOYEE:
INSERT INTO EMPLOYEE VALUES('E00001','Sudip','11-AUG-1999','M','WEST
BENGAL',15000.50);
INSERT INTO EMPLOYEE VALUES('E00002','Sudipa','17-JUN-
2005','F','MAHARASHTRA',17500.50);
INSERT INTO EMPLOYEE VALUES('E00003','Priya','08-MAR-
2002','M','KARNATAKA',5300);
INSERT INTO EMPLOYEE VALUES('E00004','Sayan','28-SEP-
2015','M','JHARKHAND',4500.70);
INSERT INTO EMPLOYEE VALUES('E00005','Sritama','02-JAN-2007','F','WEST
BENGAL',8000);

INSERT INTO COMPANY:


INSERT INTO COMPANY VALUES('C00001','Tesla','WEST BENGAL');
INSERT INTO COMPANY VALUES('C00002','Mahindra Corp','BIHAR');
INSERT INTO COMPANY VALUES('C00003','Clifford Corp','MADHYA PRADESH');
INSERT INTO COMPANY VALUES('C00004','Corrtech Inc','UTTAR PRADESH');
INSERT INTO WORKS:
INSERT INTO WORKS VALUES('E00003','C00002');
INSERT INTO WORKS VALUES('E00001','C00002');
INSERT INTO WORKS VALUES('E00004','C00001');
INSERT INTO WORKS VALUES('E00002','C00003');
INSERT INTO WORKS VALUES('E00005','C00004');

Q1) List the employees who work for company ‘C00002’


select * from EMPLOYEE NATURAL JOIN WORKS WHERE comp_no='C00002';
Q2) List the employees who work for company ‘C00004’
select * from EMPLOYEE WHERE EMPLOYEE.emp_no IN(select WORKS.emp_no from
WORKS WHERE WORKS.comp_no='C00004');

Q3) List the employees who work for Clifford Corp


select * from EMPLOYEE WHERE EMPLOYEE.emp_no IN(select WORKS.emp_no from
WORKS WHERE WORKS.comp_no IN(select COMPANY.comp_no from COMPANY
WHERE COMPANY.Co_name='Clifford Corp'));

Q4) List the employees whose name ends with ‘a’


select * from EMPLOYEE WHERE emp_name LIKE '%a';
Q5) List the employees born between 1999 and 2011
select * from EMPLOYEE WHERE to_char(dob,'YYYY') BETWEEN 1999 AND 2011;

You might also like