Assignment On Salesmens, Customers, Orders
Assignment On Salesmens, Customers, Orders
ANS
1)WRITE TWO QUERIES THAT SELECTS ALL SALES PEOPL1E (BY NAME
AND NUMBER WHO HAVE CUSTOMERS IN THEIR CITIES WHO THEY DO
NOT SERVICE. ONE USING A JOIN AND ONE A CORRELATED SUB
QUESRY WHICH SOLUTION IS MORE ELEGENT
JOIN-
SUBQUERY-
JOIN-
SELECT DISTINCT s.snum AS SALESMEN_ID ,
s.sname AS SALES_PEOPLE
FROM salesmeN AS s
INNER JOIN customer AS c
ON s.city = c.city AND s.snum <> c.snum
ORDER BY s.snum;
SUBQUERY-
SELECT
c.cnum AS CUSTOMER_NO,
o.onum AS ORDER_NO,
c.cname AS CUSTOMERS_NAME,
c.city AS CUSTOMER_CITY,
c.rating AS CUSTOMERS_RATING,
o.amt AS PRICE ,
o.odate AS ORDER_DATE
FROM customer AS c
INNER JOIN orders AS o
ON c.snum= o.snum
WHERE c.cname != 'LIU' AND c.snum=1002;
SELECT
c.cnum AS CUSTOMER_NO,
o.onum AS ORDER_NO,
c.cname AS CUSTOMERS_NAME,
c.city AS CUSTOMER_CITY,
c.rating AS CUSTOMERS_RATING,
o.amt AS PRICE ,
o.odate AS ORDER_DATE
FROM customer AS c
INNER JOIN orders AS o
ON c.snum= o.snum
WHERE c.cname != 'HOFFMAN' AND c.snum=1001;
TESTCASE—FOR CISNEROS
SELECT
c.cnum AS CUSTOMER_NO,
o.onum AS ORDER_NO,
c.cname AS CUSTOMERS_NAME,
c.city AS CUSTOMER_CITY,
c.rating AS CUSTOMERS_RATING,
o.amt AS PRICE ,
o.odate AS ORDER_DATE
FROM customer AS c
INNER JOIN orders AS o
ON c.snum= o.snum
WHERE c.cname != 'CISNEROS' AND c.snum=1007;
SELECT *
FROM customer
WHERE rating=100;
SELECT *
FROM customer
WHERE rating=400;
SELECT *
FROM customer
WHERE city IS NULL;
TEST CASE- 1
INSERT INTO customer
VALUES
(2009,'LEO',NULL,200,1004),
(2010,'MESSI',NULL,100,1004);
SELECT *
FROM customer
WHERE city IS NULL;
8)FIND THE LARGER ORDER TAKEN BY EACH SALESPERSON ON EACH
DATE
SELECT
s.snum AS SALESMEN_ID,
c.cnum AS CUSTOMER_ID,
s.sname AS SALESMEN_NAME,
c.cname AS CUSTOMER_NAME,
s.city AS SALESMEN_CITY,
c.city AS CUSTOMERS_CITY,
c.rating AS RATING_OF_SALESMEN
FROM salesmen AS s
INNER JOIN
customer AS c
ON s.snum = c.snum
ORDER BY s.snum, c.cnum;
TESTCASE – NAMES OF ALL CUSTOMERS MATCHED WITH THE SALES-
PEOPLE NOT SERVING THEM
SELECT
s.snum AS SALESMEN_ID,
c.cnum AS CUSTOMER_ID,
s.sname AS SALESMEN_NAME,
c.cname AS CUSTOMER_NAME,
s.city AS SALESMEN_CITY,
c.city AS CUSTOMERS_CITY
FROM salesmen AS s
INNER JOIN
customer AS c
ON s.snum <> c.snum
ORDER BY s.snum, c.cnum;
SELECT*
FROM customer
WHERE city='SANJOSE' AND rating>200;
SELECT*
FROM customer
WHERE city='SANJOSE' AND rating<200;
SELECT count(*)
FROM customer
WHERE city='ROME' AND rating > 50;
TESTCASE-
INSERT INTO orders
VALUES
(3017,3000,'1990-3-10',2004,1004);
UPDATE salesmen
SET comm= comm*100;