0% found this document useful (0 votes)
77 views4 pages

Leave One Page For Writing ER Diagram

The document describes an order database schema with tables for salesmen, customers, and orders. It provides SQL queries to: 1. Count customers with grades above Bangalore's average 2. Find salesmen with more than one customer 3. List salesmen and whether their cities match customers' cities 4. Create a view for the salesman with the highest-earning customer each day 5. Demonstrate deleting a salesman by ID and cascading his order deletions

Uploaded by

somesh T
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
77 views4 pages

Leave One Page For Writing ER Diagram

The document describes an order database schema with tables for salesmen, customers, and orders. It provides SQL queries to: 1. Count customers with grades above Bangalore's average 2. Find salesmen with more than one customer 3. List salesmen and whether their cities match customers' cities 4. Create a view for the salesman with the highest-earning customer each day 5. Demonstrate deleting a salesman by ID and cascading his order deletions

Uploaded by

somesh T
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Consider the following schema for Order Database:

SALESMAN (Salesman_id, Name, City, Commission)


CUSTOMER (Customer_id, Cust_Name, City, Grade, Salesman_id)
ORDERS (Ord_No, Purchase_Amt, Ord_Date, Customer_id, Salesman_id)
Write SQL queries to
1. Count the customers with grades above Bangalore’s average.
2. Find the name and numbers of all salesman who had more than one customer.
3. List all the salesman and indicate those who have and don’t have customers in
their cities (Use UNION operation.)
4. Create a view that finds the salesman who has the customer with the highest
order of a day.
5. Demonstrate the DELETE operation by removing salesman with id 1000. All
his orders must also be deleted.

Leave one page for writing ER diagram


Table Creation
CREATE TABLE SALESMAN (SALESMAN_ID NUMBER (4),
NAME VARCHAR2 (20),
CITY VARCHAR2 (20),
COMMISSION VARCHAR2 (20),
PRIMARY KEY (SALESMAN_ID));

CREATE TABLE CUSTOMER1 (CUSTOMER_ID NUMBER (4),


CUST_NAME VARCHAR2 (20),
CITY VARCHAR2 (20),
GRADE NUMBER (3),
PRIMARY KEY (CUSTOMER_ID),
SALESMAN_ID REFERENCES SALESMAN (SALESMAN_ID) ON DELETE SET NULL);

CREATE TABLE ORDERS (ORD_NO NUMBER (5),


PURCHASE_AMT NUMBER (10, 2),
ORD_DATE DATE,
PRIMARY KEY (ORD_NO),
CUSTOMER_ID REFERENCES CUSTOMER1 (CUSTOMER_ID) ON DELETE CASCADE,
SALESMAN_ID REFERENCES SALESMAN (SALESMAN_ID) ON DELETE CASCADE);

Insertion of Values to Tables


insert into salesman values(‘& salesman_id’,’&name’,’&city’, ’& commission’);
insert into customer1values (‘&customer_id’,’& cust_name’,’& city’,’& grade’,’& salesman_id’);

insert into orders values (‘&ord_no’,’& purchase_amt’,’&ord_date’,’&customer_id’,’&salesman_id’);

Queries:
1. Count the customers with grades above Bangalore’s average.
SELECT GRADE, COUNT (DISTINCT CUSTOMER_ID)
FROM CUSTOMER1
GROUP BY GRADE
HAVING GRADE > (SELECT AVG(GRADE)
FROM CUSTOMER1
WHERE CITY='BANGALORE');

output

2. Find the name and numbers of all salesmen who had more than one customer.
SELECT SALESMAN_ID, NAME
FROM SALESMAN A
WHERE 1 < (SELECT COUNT (*)
FROM CUSTOMER1
WHERE SALESMAN_ID=A.SALESMAN_ID);

output
3. List all salesmen and indicate those who have and don’t have customers in their cities (Use
UNION operation.)
SELECT SALESMAN.SALESMAN_ID, NAME, CUST_NAME, COMMISSION
FROM SALESMAN, CUSTOMER1
WHERE SALESMAN.CITY = CUSTOMER1.CITY
UNION
SELECT SALESMAN_ID, NAME, 'NO MATCH', COMMISSION
FROM SALESMAN
WHERE NOT CITY = ANY
(SELECT CITY
FROM CUSTOMER1)
ORDER BY 2 DESC;

output

4. Create a view that finds the salesman who has the customer with the highest order of a day.
CREATE VIEW ELITSALESMAN AS
SELECT B.ORD_DATE, A.SALESMAN_ID, A.NAME
FROM SALESMAN A, ORDERS B
WHERE A.SALESMAN_ID = B.SALESMAN_ID AND B.PURCHASE_AMT= (SELECT MAX
(PURCHASE_AMT) FROM ORDERS C WHERE C.ORD_DATE = B.ORD_DATE);

output

5. Demonstrate the DELETE operation by removing salesman with id 1000. All his orders must
also be deleted.
DELETE FROM SALESMAN
WHERE SALESMAN_ID=1000;

output

You might also like