Documente Academic
Documente Profesional
Documente Cultură
SNAME
-------------------PEEL
SERRES
NOTIKA
RIFKIN
AXELROD
CITY
COMM
-------------------- --------LONDON
.12
SANJOSE
.13
LONDON
.11
BARCELONA
.15
NEWYORK
.1
ANS
CNAME
-------------------HOFFMAN
GIOVANNI
LIU
GRASS
CLEMENS
CISNEROS
PERIERA
CITY
RATING
SNUM
-------------------- --------- --------LONDON
100
1001
ROME
200
1003
SANJOSE
200
1002
BERLIN
300
1002
LONDON
100
1001
SANJOSE
300
1007
ROME
100
1004
(3011,9891.88,'1990-6-10',2006,1001),
(3012,900.45,'1990-3-10',2006,1007) ;
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
JOINSELECT s.snum AS SALESMEN_ID,
s.sname AS SALESMEN_NAME
FROM salesmen AS s
LEFT OUTER JOIN customer AS c
USING (city,snum) WHERE c.city IS NULL
ORDER BY s.snum;
SUBQUERYSELECT snum AS SALESMEN_ID ,
sname AS SALESMEN_NAME
FROM salesmen AS s
WHERE s.snum NOT IN ( SELECT s.snum FROM customer c,
salesmen s WHERE s.city =c.city AND s.snum = c.snum )
ORDER BY s.snum;
TESTCASEFOR 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;
BY EACH CUSTOMER ON
TESTCASE NAMES OF ALL CUSTOMERS MATCHED WITH THE SALESPEOPLE 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;
ON s.snum=c.snum
WHERE s.comm>15
ORDER BY s.sname;
16)OUTPUT THE CUSTOMERS NAME, SALESPERSON'S RATE OF
COMMISSION
SELECT c.cname AS CUSTOMERS_NAME,
s.sname AS SALES_PERSONS_NAME,
s.comm AS RATE_OF_COMMISSION
FROM customer AS c
INNER JOIN salesmen AS s
ON s.snum=c.snum
ORDER BY s.comm ;
TESTCASE- when commission >100
SELECT c.cname AS CUSTOMERS_NAME,
s.sname AS SALES_PERSONS_NAME,
s.comm AS RATE_OF_COMMISSION
FROM customer AS c
INNER JOIN salesmen AS s
ON s.snum=c.snum
where c.rating >100
ORDER BY s.comm DESC;