Rev 81 | Blame | Last modification | View Log | RSS feed
TO ACCESS YOUR DATABASE (cs435):mysql -u root -p cs435PROBLEM 1:--------------------------------------------------------------------------------SELECT name FROM membersWHERE name NOT IN(SELECT name FROM ordersWHERE item='Lettuce');PROBLEM 2:--------------------------------------------------------------------------------SELECT name,address FROM membersWHERE name IN(SELECT name FROM ordersWHERE item IN(SELECT item FROM suppliersWHERE sname='Sunshine Produce'));PROBLEM 3:--------------------------------------------------------------------------------SELECT sname,item,price FROM suppliersWHERE item NOT IN(SELECT item FROM ordersWHERE name='Brooks, B.');PROBLEM 4:--------------------------------------------------------------------------------SELECT sname FROM suppliersWHERE item IN(SELECT item FROM ordersWHERE name='Brooks, B.')GROUP BY snameHAVING COUNT(sname) =(SELECT COUNT(DISTINCT item) FROM ordersWHERE name='Brooks, B.');---------------Using JOIN -------------------SELECT s.sname FROM suppliers s, orders oWHERE o.item=s.itemAND o.name='Brooks, B.'GROUP BY s.snameHAVING COUNT(*)=(SELECT COUNT(*) FROM ordersWHERE name='Brooks, B.');PROBLEM 5:--------------------------------------------------------------------------------SELECT DISTINCT sname FROM suppliersWHERE item IN(SELECT item FROM ordersWHERE name='Brooks, B.');PROBLEM 6:--------------------------------------------------------------------------------SELECT item,AVG(price) FROM suppliersWHERE item IN(SELECT DISTINCT item FROM suppliers)GROUP BY item;PROBLEM 7: CHECK AGAIN--------------------------------------------------------------------------------SELECT sname,item FROM suppliers;PROBLEM 8: HERE IS ONE POSSIBLE SOLUTION, USING "AS"--------------------------------------------------------------------------------SELECT name FROM membersWHERE name IN(SELECT name FROM(SELECT name,COUNT(name) FROM ordersGROUP BY name HAVING COUNT(name)>=2)AS temp_tbl1);PROBLEM 9:--------------------------------------------------------------------------------SELECT sname,COUNT(sname) FROM suppliersGROUP BY sname;PROBLEM 10: HERE IS ONE POSSIBLE SOLUTION, USING "AS"--------------------------------------------------------------------------------SELECT sname FROM suppliersWHERE item IN(SELECT item FROM(SELECT item,COUNT(item) FROM ordersGROUP BY itemHAVING COUNT(item)>1)AS temp_tbl1);PROBLEM 11:--------------------------------------------------------------------------------SELECT DISTINCT sname FROM suppliersWHERE sname IN(SELECT sname FROM suppliersWHERE item='Lettuce')AND sname IN(SELECT sname FROM suppliersWHERE item='Whey');PROBLEM 12:--------------------------------------------------------------------------------SELECT DISTINCT name FROM membersWHERE name IN(SELECT name FROM ordersWHERE item='Lettuce')OR name IN(SELECT name FROM ordersWHERE item='Whey');PROBLEM 13:--------------------------------------------------------------------------------SELECT name FROM membersWHERE name NOT IN(SELECT name FROM ordersWHERE item IN(SELECT DISTINCT item FROM ordersWHERE item<>'Whey'))AND name IN(SELECT DISTINCT name FROM orders);