TABLE OF CONTENTS
S. NO. TITLE OF THE PROJECT DATE REMARKS
1. EXTENSIVE STUDY OF 16/08/2023
SQL
2. TYPES OF SQL 16/08/2023
COMMANDS
3. INTERACTIVE SQL 1: 23/08/2023
EXERCISE
4. INTERACTIVE SQL 2: 13/09/2023
EXERCISE
5. NESTED QUERIES 27/09/2023
6. VIEWS 13/09/2023
7. BASIC PROGRAMMES 3/10/2023
OF PL
DATABASE MANAGEMENT SYSTEM: PROJECT 4
TITLE: INTERACTIVE SQL 2 EXERCISE
CONCEPTS COVERED AND PRACTICED:
• SINGLE TABLE RETRIEVAL
• SET FUNCTIONS AND CONCATENATION
• HAVING AND GROUP BY
• JOINS AND CORRELATIONS
• NESTED QUERIES
• QUERIES USING DATE
• TABLE UPDATIONS
CREATE TABLES
CLIENT_MASTER
CREATE TABLE CLIENT_MASTER
( CLIENT_NO VARCHAR(6) PRIMARY KEY CHECK(CLIENT_NO LIKE 'C%'),
NAME VARCHAR(20) NOT NULL,
ADDRESS1 VARCHAR(30),
ADDRESS2 VARCHAR(30),
CITY VARCHAR(15),
STATE VARCHAR(15),
PINCODE INT,
BAL_DUE FLOAT(10,2)
);
INSERT INTO CLIENT_MASTER (CLIENTNO, NAME, CITY, PINCODE, STATE, BALDUE)
VALUES ('C00001', 'IVAN BAYROSS', 'MUMBAI', 400054, 'MAHARASHTRA', 15000);
INSERT INTO CLIENT_MASTER (CLIENTNO, NAME, CITY, PINCODE, STATE, BALDUE)
VALUES ('C00002', 'MAMTA MUZUMDAR', 'MADRAS', 780001, 'TAMIL NADU', 0);
INSERT INTO CLIENT_MASTER (CLIENTNO, NAME, CITY, PINCODE, STATE, BALDUE)
VALUES ('C00003', 'CHHAYA BANKAR', 'MUMBAI', 400057, 'MAHARASHTRA', 5000);
INSERT INTO CLIENT_MASTER (CLIENTNO, NAME, CITY, PINCODE, STATE, BALDUE)
VALUES ('C00004', 'ASHWINI JOSHI', 'BANGALORE', 560001, 'KARNATAKA', 0);
INSERT INTO CLIENT_MASTER (CLIENTNO, NAME, CITY, PINCODE, STATE, BALDUE)
VALUES ('C00005', 'HANSEL COLACO', 'MUMBAI', 400060, 'MAHARASHTRA', 2000);
INSERT INTO CLIENT_MASTER (CLIENTNO, NAME, CITY, PINCODE, STATE, BALDUE)
VALUES ('C00006', 'DEEPAK SHARMA', 'MANGALORE', 400054, 'KARNATAKA', 0);
PRODUCT_MASTER
CREATE TABLE PRODUCT_MASTER
(
PRODUCT_NO VARCHAR(6) PRIMARY KEY CHECK( PRODUCT_NO LIKE 'P%'),
DESCRIPTION VARCHAR(5) NOT NULL,
PROFIT_PERCENT FLOAT(2,2) NOT NULL,
UNIT_MEASURE VARCHAR(10) NOT NULL,
QTY_ON_HAND INT NOT NULL,
REORDER_LVL INT NOT NULL,
SELL_PRICE FLOAT(8,2) NOT NULL CHECK(SELL_PRICE!=0),
COST_PRICE FLOAT(8,2) NOT NULL CHECK(COST_PRICE!=0)
);
INSERT INTO PRODUCT_MASTER (PRODUCTNO, DESCRIPTION, PROFITPERCENT,
UNITMEASURE, QTYONHAND, REORDERLVL, SELLPRICE, COSTPRICE) VALUES
('P00001', 'T-SHIRTS', 5,'PIECE', 200,50,350,250);
INSERT INTO PRODUCT_MASTER (PRODUCTNO, DESCRIPTION, PROFITPERCENT,
UNITMEASURE, QTYONHAND, REORDERLVL, SELLPRICE, COSTPRICE) VALUES
('P03453', 'SHIRTS', 6,'PIECE', 150,50,500,350);
INSERT INTO PRODUCT_MASTER(PRODUCTNO, DESCRIPTION, PROFITPERCENT,
UNITMEASURE, QTYONHAND, REORDERLVL, SELLPRICE, COSTPRICE) VALUES
('P07865', 'COTTON JEANS', 5,'PIECE', 100,20,600,450);
INSERT INTO PRODUCT_MASTER (PRODUCTNO, DESCRIPTION, PROFITPERCENT,
UNITMEASURE, QTYONHAND, REORDERLVL, SELLPRICE, COSTPRICE) VALUES
('P07868', 'JEANS', 5,'PIECE', 100,20,750,500);
INSERT INTO PRODUCT_MASTER (PRODUCTNO, DESCRIPTION, PROFITPERCENT,
UNITMEASURE, QTYONHAND, REORDERLVL, SELLPRICE, COSTPRICE) VALUES
('P07885', 'TROUSERS', 2,'PIECE', 150, 50, 850, 550);
INSERT INTO PRODUCT_MASTER (PRODUCTNO, DESCRIPTION, PROFITPERCENT,
UNITMEASURE, QTYONHAND, REORDERLVL, SELLPRICE, COSTPRICE) VALUES
('P07965', 'PULL OVERS', 2.5,'PIECE', 80,30,700,450);
INSERT INTO PRODUCT_MASTER (PRODUCTNO, DESCRIPTION, PROFITPERCENT,
UNITMEASURE, QTYONHAND, REORDERLVL, SELLPRICE, COSTPRICE) VALUES
('P07975', 'DENIM SHIRTS', 4,'PIECE', 100, 40, 350, 250);
INSERT INTO PRODUCT_MASTER (PRODUCTNO, DESCRIPTION, PROFITPERCENT,
UNITMEASURE, QTYONHAND, REORDERLVL, SELLPRICE, COSTPRICE) VALUES
('P07975', 'LYCRA TOPS', 5,'PIECE', 70, 30, 300, 175);
INSERT INTO PRODUCT_MASTER (PRODUCTNO, DESCRIPTION, PROFITPERCENT,
UNITMEASURE, QTYONHAND, REORDERLVL, SELLPRICE, COSTPRICE) VALUES
('P08865', 'SKIRTS', 5,'PIECE', 75, 30, 450, 300);
SALESMAN_MASTER
CREATE TABLE SALESMAN_MASTER
(
SALESMAN_NO VARCHAR(6) PRIMARY KEY CHECK(SALESMAN_NO LIKE 'S%'),
SALESMAN_NAME VARCHAR(20) NOT NULL,
ADDRESS1 VARCHAR(30) NOT NULL,
ADDRESS2 VARCHAR(30),
CITY VARCHAR(20),
PINCODE INT,
STATE VARCHAR(20),
SAL_AMT FLOAT(8,2) NOT NULL CHECK(SAL_AMT!=0),
TGT_TO_GET FLOAT(6,2) NOT NULL CHECK(TGT_TO_GET!=0),
YTD_SALES FLOAT(6,2) NOT NULL,
REMARKS VARCHAR(60)
);
INSERT INTO SALESMAN_MASTER_N (SALESMANNO, SALESMANNAME, ADDRESS1,
ADDRESS2, CITY, PINCODE, STATE, SALAMT, TGTTOGET, YTDSALES, REMARKS)
VALUES ('S00001', 'AMAN', 'A/14', 'WORLI', 'MUMBAI', 400002, 'MAHARASHTRA', 3000, 100,
50, 'GOOD');
INSERT INTO SALESMAN_MASTER_N (SALESMANNO, SALESMANNAME, ADDRESS1,
ADDRESS2, CITY, PINCODE, STATE, SALAMT, TGTTOGET, YTDSALES, REMARKS)
VALUES ('S00002', 'OMKAR', '65', 'NARIMAN', 'MUMBAI', 400001, 'MAHARASHTRA', 3000,
200, 100, 'GOOD');
INSERT INTO SALESMAN_MASTER_N (SALESMANNO, SALESMANNAME, ADDRESS1,
ADDRESS2, CITY, PINCODE, STATE, SALAMT, TGTTOGET, YTDSALES, REMARKS)
VALUES ('S00003', 'RAJ', 'P7', 'BANDRA', 'MUMBAI', 400032, 'MAHARASHTRA', 3000, 200,
100, 'GOOD');
INSERT INTO SALESMAN_MASTER_N (SALESMANNO, SALESMANNAME, ADDRESS1,
ADDRESS2, CITY, PINCODE, STATE, SALAMT, TGTTOGET, YTDSALES, REMARKS)
VALUES ('S00004', 'ASHISH', 'A-5', 'JUHU', 'MUMBAI', 400044, 'MAHARASHTRA', 3500, 200,
150, 'GOOD');
SALES_ORDER
CREATE TABLE SALES_ORDER
-> ( S_ORDER_NO VARCHAR(6) PRIMARY KEY CHECK(S_ORDER_NO LIKE 'O%'),
-> S_ORDER_DATE DATE,
-> CLIENT_NO VARCHAR(6) REFERENCES CLIENT_MASTER(CLIENT_NO),
-> DELY_ADDR VARCHAR(25),
-> SALESMAN_NO VARCHAR(6) REFERENCES SALESMAN_MASTER(SALESMAN_NO),
-> DELY_TYPE CHAR(1) CHECK(DELY_TYPE IN ('P','F')) DEFAULT 'F',
-> BILLED_YN CHAR(1),
-> DELY_DATE DATE,
-> ORDER_STATUS VARCHAR(10) CHECK (ORDER_STATUS IN ('IN
PROCESS','FULFILLED','BACKORDER','CANCELED')),
-> CHECK(DELY_DATE>=S_ORDER_DATE));
INSERT INTO SALES_ORDER (ORDERNO, CLIENTNO, ORDERDATE, SALESMANNO,
DELYTYPE, BILLYN, DELYDATE, ORDERSTATUS) VALUES ('O19001', 'C00001', '12-JUN-02',
'S00001', 'F', 'N', '20-JULY-02', 'IN PROCESS');
INSERT INTO SALES_ORDER (ORDERNO, CLIENTNO, ORDERDATE, SALESMANNO,
DELYTYPE, BILLYN, DELYDATE, ORDERSTATUS) VALUES ('O19002', 'C00002', '25-JUN-02',
'S00002', 'P', 'N', '27-JUN-02', 'CANCELLED');
INSERT INTO SALES_ORDER (ORDERNO, CLIENTNO, ORDERDATE, SALESMANNO,
DELYTYPE, BILLYN, DELYDATE, ORDERSTATUS) VALUES ('O46865', 'C00003', '18-FEB-02',
'S00003', 'F', 'Y', '20-FEB-02', 'FULFILLED');
INSERT INTO SALES_ORDER (ORDERNO, CLIENTNO, ORDERDATE, SALESMANNO,
DELYTYPE, BILLYN, DELYDATE, ORDERSTATUS) VALUES ('O19003', 'C00001', '03-APR-02',
'S00004', 'F', 'Y', '7-APR-02', 'FULFILLED');
INSERT INTO SALES_ORDER (ORDERNO, CLIENTNO, ORDERDATE, SALESMANNO,
DELYTYPE, BILLYN, DELYDATE, ORDERSTATUS) VALUES ('O46866', 'C00004', '20-MAY-02',
'S00002', 'P', 'N', '22-MAY-02', 'CANCELLED');
INSERT INTO SALES_ORDER (ORDERNO, CLIENTNO, ORDERDATE, SALESMANNO,
DELYTYPE, BILLYN, DELYDATE, ORDERSTATUS) VALUES ('O19008', 'C00005', '24-MAY-02',
'S00004', 'F', 'N', '26-JULY-02', 'IN PROCESS');
SALES_ORDER_DETAILS
CREATE TABLE SALES_ORDER_DETAILS
( S_ORDER_NO VARCHAR(6) REFERENCES SALES_ORDER(S_ORDER_NO),
PRODUCT_NO VARCHAR(6) REFERENCES PRODUCT_MASTER(PRODUCT_NO),
QTY_ORDERED INT,
QTY_DISP INT,
PRODUCT_RATE FLOAT(10,2),
PRIMARY KEY(S_ORDER_NO,PRODUCT_NO));
INSERT INTO SALES_ORDER_DETAILS VALUES ('O19001', 'P00001', 4, 4, 525);
INSERT INTO SALES_ORDER_DETAILS VALUES ('O19001', 'P07965', 2, 1, 8400);
INSERT INTO SALES_ORDER_DETAILS VALUES ('O19001', 'P07885', 2, 1, 5250);
INSERT INTO SALES_ORDER_DETAILS VALUES ('O19002', 'P00001', 10, 0, 525);
INSERT INTO SALES_ORDER_DETAILS VALUES ('O46865', 'P07868', 3, 3, 3150);
INSERT INTO SALES_ORDER_DETAILS VALUES ('O46865', 'P07885', 3, 1, 5250);
INSERT INTO SALES_ORDER_DETAILS VALUES ('O46865', 'P00001', 10, 10, 525);
INSERT INTO SALES_ORDER_DETAILS VALUES ('O46865', 'P00345', 4, 4, 1050);
INSERT INTO SALES_ORDER_DETAILS VALUES ('O19003', 'P03453', 4, 4, 1050);
INSERT INTO SALES_ORDER_DETAILS VALUES ('O19003', 'P06734', 1, 1, 12000);
INSERT INTO SALES_ORDER_DETAILS VALUES ('O46866', 'P07965', 1, 0, 8400);
INSERT INTO SALES_ORDER_DETAILS VALUES ('O46866', 'P07965', 1, 0, 1050);
INSERT INTO SALES_ORDER_DETAILS VALUES ('O19008', 'P00001', 10, 5, 525);
INSERT INTO SALES_ORDER_DETAILS VALUES ('O19008', 'P07975', 5, 3, 1050);
CHALLAN_HEADER
CREATE TABLE CHALLAN_HEADER
( CHALLAN_NO VARCHAR(6) PRIMARY KEY CHECK(CHALLAN_NO LIKE 'CH%'),
S_ORDER_NO VARCHAR(6) REFERENCES SALES_ORDER(S_ORDER_NO),
CHALLAN_DATE DATE NOT NULL,
BILLED_YN CHAR(1) CHECK(BILLED_YN IN ('Y','N')) DEFAULT 'N');
INSERT INTO CHALLAN_HEADER VALUES(‘CH9001’, ‘O19001’, ’12-DEC-95’,’Y’);
INSERT INTO CHALLAN_HEADER VALUES(‘CH6865’, ‘O46865’, ’12-NOV-95’, ‘Y’);
INSERT INTO CHALLAN_HEADER VALUES(‘CH3965’, ‘O10008’, ’12-OCT-95’, ‘Y’);
CHALLAN_DETAILS
CREATE TABLE CHALLAN_DETAILS
( CHALLAN_NO VARCHAR(6) REFERENCES CHALLAN_HEADER(CHALLAN_NO),
PRODUCT_NO VARCHAR(6) REFERENCES PRODUCT_MASTER(PRODUCT_NO),
QTY_DISP FLOAT(4,2) NOT NULL,
PRIMARY KEY(CHALLAN_NO,PRODUCT_NO));
INSERT INTO CHALLAN_DETAILS VALUES(‘CH9001’, ‘P0001’, 4);
INSERT INTO CHALLAN_DETAILS VALUES(‘CH9001’, ‘P07965’, 1);
INSERT INTO CHALLAN_DETAILS VALUES(‘CH9001’, ‘P07885’, 1);
INSERT INTO CHALLAN_DETAILS VALUES(‘CH6865’, ‘P07868’, 3);
INSERT INTO CHALLAN_DETAILS VALUES(‘CH6865’, ‘P03453’, 4);
INSERT INTO CHALLAN_DETAILS VALUES(‘CH6865’, ‘P0001’, 10);
INSERT INTO CHALLAN_DETAILS VALUES(‘CH3965’, ‘P0001’, 5);
INSERT INTO CHALLAN_DETAILS VALUES(‘CH9001’, ‘P07975’, 2);
Single Table Retrieval:
1. SELECT NAME FROM CLIENT_MASTER;
2. SELECT * FROM CLIENT_MASTER;
3. SELECT NAME, CITY FROM CLIENT_MASTER;
4. SELECT DESCRIPTION FROM PRODUCT_MASTER;
5. SELECT NAME FROM CLIENT_MASTER
WHERE NAME LIKE "_A%";
6. SELECT NAME FROM CLIENT_MASTER
WHERE CITY LIKE "_A%";
7. SELECT NAME FROM CLIENT_MASTER
WHERE CITY IN ("BOMBAY","DELHI","MADRAS");
8. SELECT NAME FROM CLIENT_MASTER
WHERE CITY="BOMBAY";
9. SELECT NAME FROM CLIENT_MASTER
WHERE BAL_DUE>10000;
10. SELECT * FROM SALES_ORDER
WHERE MONTH(S_ORDER_DATE)="JAN";
11. SELECT * FROM SALES_ORDER
WHERE CLIENT_NO="C00001" OR CLIENT_NO="C00002";
12. SELECT * FROM PRODUCT_MASTER
WHERE DESCRIPTION="1.44 DRIVE" OR DESCRIPTION="1.22 DRIVE";
13. SELECT DESCRIPTION FROM PRODUCT_MASTER
WHERE SELL_PRICE>2000 AND SELL_PRICE<=5000;
14. SELECT DESCRIPTION, SELL_PRICE*15 "NEW_SELL_PRICE" FROM
PRODUCT_MASTER
WHERE SELL_PRICE>1500;
15. SELECT DESCRIPTION, SELL_PRICE*15 "NEW_PRICE" FROM PRODUCT_MASTER
WHERE SELL_PRICE>1500;
16. SELECT DESCRIPTION FROM PRODUCT_MASTER
WHERE COST_PRICE<1500;
17. SELECT DESCRIPTION FROM PRODUCT_MASTER
ORDER BY DESCRIPTION;
18. SELECT SQRT(COST_PRICE) FROM PRODUCT_MASTER;
19. SELECT (COST_PRICE-100)/COST_PRICE FROM PRODUCT_MASTER
WHERE DESCRIPTION="540 HDD";
20. SELECT NAME,CITY,STATE FROM CLIENT_MASTER
WHERE STATE!="MAHARASHTRA";
21. SELECT PRODUCT_NO,DESCRIPTION,SELL_PRICE FROM PRODUCT_MASTER
WHERE DESCRIPTION LIKE "M%";
22. SELECT S_ORDER_NO FROM SALES_ORDER
WHERE ORDER_STATUS="C" AND MONTH(S_ORDER_DATE)="MAR";
Set Functions and Concatenation:
23. SELECT COUNT(S_ORDER_NO) FROM SALES_ORDER;
24. SELECT AVG(COST_PRICE) FROM PRODUCT_MASTER;
25. SELECT MIN(COST_PRICE) FROM PRODUCT_MASTER;
26. SELECT MAX(COST_PRICE) "MAX_PRICE" ,MIN(COST_PRICE) "MIN_PRICE"
FROM
PRODUCT_MASTER;
27. SELECT COUNT(*) FROM PRODUCT_MASTER WHERE COST_PRICE>=1500;
28. SELECT COUNT(*) FROM PRODUCT_MASTER WHERE
QTY_ON_HAND<REORDER_LVL;
29. SELECT [Link] ||' HAS PLACED ORDER '|| S.S_ORDER_NO ||' ON '||
S.S_ORDER_DATE FROM CLIENT_MASTER C,SALES_ORDER S WHERE
C.CLIENT_NO=S.CLIENT_NO;
Having and Group By:
30. SELECT DESCRIPTION, SUM(QTYDISP) FROM PRODUCT_MASTER,
SALES_ORDER_DETAILS WHERE PRODUCT [Link]
SALES_ORDER_DETAILS.PRODUCTNO
GROUP BY DESCRIPTION;
31. SELECT SALES_ORDER_DETAILS.PRODUCTNO, PRODUCT_MASTER.
DESCRIPTION, SUM(SALES ORDER_DETAILS.QTY DISP*
SALES_ORDER_DETAILS.PRODUCTRATE) 'SALES PER PRODUCT’ FROM SALES
ORDER_DETAILS, PRODUCT_MASTER
WHERE PRODUCT_MASTER.PRODUCTNO-SALES_ORDER_DETAILS.PRODUCTNO
GROUP BY SALES_ORDER_DETAIL PRODUCTNO,
PRODUCT_MASTER.DESCRIPTION;
32. SELECT [Link], [Link], AVG([Link] DISP) 'AVG. SALES' FROM
SALES ORDER DETAILS SOD, SALES ORDER SO, CLIENT MASTER CM
WHERE [Link] = [Link] AND [Link]= [Link]
GROUP BY [Link], NAME HAVING MAX([Link] ORDERED *
[Link]) > 15000;
33. SELECT [Link], [Link], SUM([Link] ORDERED *
[Link]) 'ORDER BILLED’ FROM SALES_ORDER SO, SALES_ORDER
DETAILS SOD
WHERE [Link] NO = [Link] NO AND [Link] = 'Y' AND
TO_CHAR(ORDERDATE, 'MON') = 'JUN' GROUP BY [Link] NO;
JOINS AND CORRELATIONS:
36. SELECT [Link] NO, [Link] FROM SALES_ORDER_DETAILS
SOD, SALES ORDER SO, PRODUCT_MASTER PM, CLIENT_MASTER CM
WHERE [Link] AND [Link] NO [Link] NO
AND [Link] NO AND [Link] = "IVAN BAYROSS';
37. SELECT [Link], [Link], SUM([Link] ORDERED)
FROM SALES ORDER DETAILS SOD, SALES ORDER SO, PRODUCT MASTER PM
WHERE [Link] [Link] AND [Link] - [Link] NO
AND TO_CHAR(DELYDATE, 'MON-YY')-TO_CHAR(SYSDATE, GROUP BY
[Link], [Link];
38. SELECT DISTINCT PRODUCT MASTER PRODUCTNO, DESCRIPTION
FROM SALES ORDER_DETAILS, PRODUCT MASTER WHERE PRODUCT MASTER
PRODUCTNO-SALES ORDER DETAILS PRODUCTNO;
39. SELECT DISTINCT SALES_ORDER.CLIENTNO, CLIENT [Link] FROM
SALES ORDER_DETAILS, SALES ORDER, PRODUCT MASTER, CLIENT MASTER
WHERE PRODUCT_MASTER.PRODUCTNO SALES ORDER [Link]
AND SALES ORDER. ORDER NO-SALES ORDER DETAILS. ORDER NO AND
CLIENT [Link] SALES [Link]
AND DESCRIPTION = "CD DRIVE';
40. SELECT SALES ORDER_DETAILS.PRODUCTNO, SALES ORDER DETAILS. ORDER
NO
FROM SALES ORDER_DETAILS, SALES ORDER, PRODUCT MASTER WHERE
SALES ORDER. ORDE-NO-SALES ORDER DETAILS ORDERNO
AND PRODUCT [Link] SALES ORDER [Link] AND
SALES ORDER
[Link] <5 AND PRODUCT_MASTER.DESCRIPTION ='1.44
FLOPPIES';
41. SELECT [Link], [Link], SUM (QTYORDERED) 'UNITS
ORDERED" FROM SALES ORDER DETAILS SOD, SALES ORDER SO, PRODUCT
MASTER PM, CLIENT_MASTER CM
WHERE [Link]=[Link] AND [Link] = [Link]
AND [Link] = [Link]
AND ([Link] = 'IVAN BAYROSS' OR [Link] = 'MAMTA MUZUMDAR')
GROUP BY [Link], [Link];
42. SELECT [Link], [Link], [Link],
SUM(QTYORDERED) 'UNITS ORDERED" FROM SALES ORDER SO, SALES ORDER
DETAILS SOD, PRODUCT MASTER PM, CLIENT MASTER CM
WHERE [Link]=[Link] AND [Link] [Link]
AND [Link] [Link]
GROUP BY [Link], [Link], [Link] HAVING
[Link] 'C00001' OR [Link]='C00002';
QUERIES USING DATE:
48. SELECT ORDERNO. TO_CHAR(ORDERDATE, 'DAY') FROM SALES ORDER;
49. SELECT TO_CHAR(DELYDATE, MONTH), DELY DATE FROM SALES ORDER
ORDER BY TO_CHAR(DELY DATE, 'MONTH');
50. SELECT TO_CHAR(ORDERDATE, 'DD-MONTH-YY) FROM SALES ORDER;
51. SELECT SYSDATE IS FROM DUAL;
TABLE UPDATIONS:
53. UPDATE SALES_ORDER
SET S_ORDER_DATE='24-JUL-96'
WHERE CLIENT_NO='C00001';
54. UPDATE PRODUCT_MASTER SET SELL_PRICE=1150 WHERE DESCRIPTION='1.44
DRIVE';
55. DELETE FROM SALES_ORDER WHERE S_ORDER_NO='O19001';
56. DELETE SALES_ORDER WHERE DELY_DATE<'10-JUL-96';
57. UPDATE CLIENT_MASTER SET CITY='BOMBAY' WHERE CLIENT_NO='C00005';
58. UPDATE SALES_ORDER
SET DELY_DATE='16-AUG-96'
WHERE S_ORDER_NO='O10008';
59. UPDATE CLIENT_MASTER
SET BAL_DUE=1000
WHERE CLIENT_NO='C00001';
60. UPDATE PRODUCT_MASTER
SET COST_PRICE=950
WHERE DESCRIPTION='1.22 FLOPPY DRIVE'
DATABASE MANAGEMENT SYSTEM: PROJECT 5
TITLE: NESTED QUERIES
43. SELECT PRODUCTNO, DESCRIPTION FROM PRODUCT_MASTER
WHERE PRODUCTNO NOT IN (SELECT PRODUCTNO FROM
SALES_ORDER_DETAILS);
44. SELECT NAME,ADDRESS1, ADDRESS2, CITY, STATE PINCODE FROM
CLIENT_MASTER
WHERE CLIENTNO IN (SELECT CLIENTNO FROM SALES_ORDER WHERE
ORDERNO=’O19001’);
45. SELECT CLIENTNO, NAME FROM CLIENT_MASTER WHERE CLIENTNO IN
(SELECT CLIENTNO FROM SALES_ORDER WHERE
TO_CHAR(ORDERDATE,’MON,YY’)<’MAY,96’);
46. SELECT CLIENTNO, NAME FROM CLIENT_MASTER WHERE CLIENTNO IN
(SELECT CLIENTNO FROM SALES_ORDER WHERE ORDERNO IN (SELECT
ORDERNO FROM SALES_ORDER_DETAILS WHERE PRODUCTNO IN (SELECT
PRODUCTNO FROM PRODUCT_MASTER WHERE DESCRIPTION =’ '1.44 DRIVE’)));
47. SELECT NAME FROM CLIENT_MASTER WHERE CLIENTNO IN (SELECT
CLIENTNO FROM SALES_ORDER WHERE ORDERNO IN (SELECT ORDERNO
FROM SALES_ORDER_DETAILS WHERE
(QTYORDERED*PRODUCTRATE)>=10000));
DATABASE MANAGEMENT SYSTEM: PROJECT 6
TITLE: VIEWS
Views in SQL are kind of virtual tables. A view also has rows and columns as they are in a
real table in the database. We can create a view by selecting fields from one or more tables
present in the database. A View can either have all the rows of a table or specific rows
based on certain condition.
We can create View using CREATE VIEW statement. A View can be created from a
single table or multiple tables. Syntax:
CREATE VIEW view_name AS
SELECT column1, column2.....
FROM table_name
WHERE condition;
view_name: Name for the View
table_name: Name of the table
condition: Condition to select rows
Sample Tables:
StudentDetails
StudentMarks
Creating View from a single table:
CREATE VIEW DetailsView AS
SELECT NAME, ADDRESS
FROM StudentDetails
WHERE S_ID < 5;
To see the data in the View:
SELECT * FROM DetailsView;
Output:
Creating View from multiple tables:
SELECT [Link], [Link], [Link]
FROM StudentDetails, StudentMarks
WHERE [Link] = [Link];
To display data of View MarksView:
SELECT * FROM MarksView;
Output:
DATABASE MANAGEMENT SYSTEM: PROJECT 7
TITLE: BASIC PROGRAMMES OF PL
1. Print Hello World:
Code:
BEGIN
dbms_output.put_line('Hello World');
END;
Output:
Hello World
2. Addition And Subtraction:
Code:
DECLARE
a NUMBER := 10;
b NUMBER := 5;
BEGIN
dbms_output.put_line(a + b);
dbms_output.put_line(a - b);
END;
Output:
15
5
3. Prime Number:
Code:
DECLARE
n NUMBER := 13;
i NUMBER := 2;
temp NUMBER := 1;
BEGIN
FOR i IN 2..n/2 LOOP
IF MOD(n, i) = 0 THEN
temp := 0;
EXIT;
END IF;
END LOOP;
IF temp = 1 THEN
dbms_output.put_line('true');
ELSE
dbms_output.put_line('false');
END IF;
END;
Output:
true
4. Factorial of a Number :
Code:
DECLARE
n NUMBER := 5;
fac NUMBER := 1;
BEGIN
FOR i IN 1..n LOOP
fac := fac * i;
END LOOP;
dbms_output.put_line('Factorial of ' || n || ' is ' || fac);
END;
Output:
Factorial of 5 is 120
5. To Print Table of a Number :
Code:
DECLARE
n NUMBER := 5;
i NUMBER := 1;
BEGIN
WHILE i <= 10 LOOP
dbms_output.put_line(n || ' * ' || i || ' = ' || n * i);
i := i + 1;
END LOOP;
END;
Output:
5*1=5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50
6. Reverse of a Number :
Code:
DECLARE
n NUMBER := 12345;
r NUMBER := 0;
BEGIN
WHILE n > 0 LOOP
r := r * 10 + MOD(n, 10);
n := TRUNC(n / 10);
END LOOP;
dbms_output.put_line('The reverse of the number is ' || r);
END;
Output:
The reverse of the number is 54321
7. Generate Fibonacci Series:
Code:
DECLARE
n NUMBER := 10;
a NUMBER := 0;
b NUMBER := 1;
temp NUMBER;
BEGIN
dbms_output.put_line('Fibonacci series is:');
FOR i IN 1..n LOOP
dbms_output.put_line(a);
temp := a + b;
a := b;
b := temp;
END LOOP;
END;
Output:
Fibonacci series is:
0
1
1
2
3
5
8
13
21
34
8. Check whether Number is Even or Odd:
Code:
DECLARE
n NUMBER := 13;
r NUMBER;
BEGIN
r := MOD(n, 2);
IF r = 0 THEN
dbms_output.put_line('The number is even');
ELSE
dbms_output.put_line('The number is odd');
END IF;
END;
Output:
The number is odd
9. Swapping of Two Numbers:
Code:
DECLARE
num1 NUMBER := 10;
num2 NUMBER := 20;
temp NUMBER;
BEGIN
dbms_output.put_line('Before swapping:');
dbms_output.put_line('num1 = ' || num1 || ', num2 = ' || num2);
temp := num1;
num1 := num2;
num2 := temp;
dbms_output.put_line('After swapping:');
dbms_output.put_line('num1 = ' || num1 || ', num2 = ' || num2);
END;
Output:
Before swapping:
num1 = 10, num2 = 20
After swapping:
num1 = 20, num2 = 10
10. Finding Out Armstrong Number:
Code:
DECLARE
n NUMBER := 153;
s NUMBER := 0;
r NUMBER;
len NUMBER;
BEGIN
len := LENGTH(TO_CHAR(n));
FOR i IN 1..len LOOP
r := MOD(n, 10);
s := s + POWER(r, len);
n := TRUNC(n / 10);
END LOOP;
IF s = n THEN
dbms_output.put_line('The number is an Armstrong number');
ELSE
dbms_output.put_line('The number is not an Armstrong number');
END IF;
END;
Output:
The number is not an Armstrong number
11. Greatest of Three Numbers:
Code:
DECLARE
a NUMBER := 10;
b NUMBER := 20;
c NUMBER := 30;
max NUMBER;
BEGIN
IF a > b AND a > c THEN
max := a;
ELSIF b > a AND b > c THEN
max := b;
ELSE
max := c;
END IF;
dbms_output.put_line('The greatest of the three numbers is ' || max);
END;
Output:
The greatest of the three numbers is 30