Sie sind auf Seite 1von 3

WILL KENNEY EXERCISE 4 CHAPTER 11 1.

SELECT TITLE FROM BOOKS WHERE RETAIL < (SELECT AVG(RETAIL) FROM BOOKS); 2. SELECT TITLE,B.COST,B.CATEGORY FROM BOOKS B,(SELECT CATEGORY,AVG(COST) AVGCOST FROM BOOKS GROUP BY CATEGORY) A WHERE B.CATEGORY = A.CATEGORY AND B.COST < A.AVGCOST; 3. SELECT ORDER# FROM ORDERS WHERE (SHIPSTATE) IN (SELECT SHIPSTATE FROM ORDERS WHERE ORDER# = 1014); 4. SELECT ORDER# FROM ORDERITEMS OI,BOOKS B WHERE OI.ISBN = B.ISBN AND ((B.RETAIL - OI.PAIDEACH)*OI.QUANTITY) > (SELECT ((B.RETAIL OI.PAIDEACH)*OI.QUANTITY) OWED FROM ORDERITEMS OI,BOOKS B WHERE OI.ISBN = B.ISBN AND OI.ORDER# = 1008); 5. SELECT A.LNAME, A.FNAME FROM AUTHOR A JOIN BOOKAUTHOR BA USING(AUTHORID) JOIN (SELECT ISBN FROM (SELECT ISBN, SUM(QUANTITY) SOLD FROM ORDERITEMS GROUP BY ISBN) WHERE SOLD IN (SELECT MAX(SOLD) FROM (SELECT ISBN, SUM(QUANTITY) SOLD FROM ORDERITEMS GROUP BY ISBN))) BESTSELLER USING (ISBN); 6. SELECT TITLE FROM BOOKS WHERE CATEGORY IN (SELECT DISTINCT CATEGORY FROM BOOKS WHERE ISBN IN (SELECT ISBN FROM ORDERITEMS WHERE ORDER# IN (SELECT ORDER# FROM ORDERS WHERE CUSTOMER# = 1007))) AND ISBN NOT IN (SELECT ISBN FROM ORDERITEMS WHERE ORDER# IN (SELECT ORDER# FROM ORDERS WHERE CUSTOMER# = 1007)); 7. SELECT SHIPCITY,SHIPSTATE FROM ORDERS WHERE (SHIPDATE - ORDERDATE) IN (SELECT MAX(SHIPDATE - ORDERDATE) DELAY FROM ORDERS); 8. SELECT LASTNAME,FIRSTNAME FROM CUSTOMERS WHERE CUSTOMER# IN (SELECT CUSTOMER# FROM ORDERS WHERE ORDER# IN (SELECT ORDER# FROM ORDERITEMS WHERE ISBN IN (SELECT ISBN FROM BOOKS WHERE RETAIL IN (SELECT MIN(RETAIL) FROM BOOKS)))); 9. SELECT COUNT(CUSTOMER#) CUSTCOUNT FROM ORDERS WHERE ORDER# IN (SELECT ORDER# FROM ORDERITEMS WHERE ISBN IN (SELECT ISBN FROM BOOKAUTHOR WHERE AUTHORID IN (SELECT AUTHORID FROM AUTHOR WHERE LNAME = 'AUSTIN' AND FNAME = 'JAMES'))); 10. SELECT COUNT(DISTINCT CUSTOMER#) CUSTCOUNT FROM ORDERS WHERE ORDER# IN (SELECT ORDER# FROM ORDERITEMS WHERE ISBN IN (SELECT ISBN FROM BOOKAUTHOR WHERE AUTHORID IN (SELECT AUTHORID FROM AUTHOR WHERE LNAME = 'AUSTIN' AND FNAME = 'JAMES')));

ADVANCEDCHALLENGE: 1. SELECT ROUND(SUM(PAIDEACH * QUANTITY * 0.15),2) SURCHARGE FROM ORDERITEMS; 2. SELECT SUM((B.RETAIL - OI.PAIDEACH)*OI.QUANTITY) FROM BOOKS B, ORDERITEMS OI WHERE OI.ISBN = B.ISBN AND ((B.RETAIL OI.PAIDEACH)*OI.QUANTITY) > (SELECT AVG((BO.RETAIL OIT.PAIDEACH)*OIT.QUANTITY) FROM BOOKS BO , ORDERITEMS OIT WHERE OIT.ISBN = BO.ISBN AND (BO.RETAIL - OIT.PAIDEACH) > 0); MEMO FOR MANAGEMENT DATA HAS SHOWN THAT IF A CREDIT CARD SYSTEM WAS USED RECENTLY WE WOULD HAVE LOST $253.21 OR 6.8% OF OUR TOTAL RETAIL. OUR CURRENT SYSTEM HAS AN EXPECTED LOSS OF $20.40, A SMALLER PERCENTAGE OF OUR RETAIL.

CHAPTER 13: 1. CREATE VIEW CONTACT AS SELECT CONTACT,PHONE FROM PUBLISHER; 2. CREATE OR REPLACE VIEW CONTACT AS SELECT CONTACT,PHONE FROM PUBLISHER WITH READ ONLY; 3. CREATE VIEW HOMEWORK13 AS SELECT COL1,COL2 FROM FIRSTATTEMPT; 4. THAT VIEW DOSENT EXIST SINCE NO TABLE EXISTED 5. CREATE VIEW REORDERINFO AS SELECT DISTINCT B.ISBN,B.TITLE,C.LASTNAME,C.FIRSTNAME,C.ADDRESS FROM BOOKS B,CUSTOMERS C,ORDERS O,ORDERITEMS OI WHERE C.CUSTOMER# = O.CUSTOMER# AND O.ORDER# = OI.ORDER# AND OI.ISBN = B.ISBN WITH READ ONLY; 6. UPDATE REORDERINFO SET LASTNAME = 'KENNEY' , FIRSTNAME = 'WILL' WHERE LASTNAME = 'LUCAS' AND FIRSTNAME = 'JAKE'; ERROR:cannot modify a column which maps to a non key-preserved table 7. UPDATE REORDERINFO SET ISBN = 1234543210 WHERE TITLE = 'HOLY GRAIL OF ORACLE'; ERROR:cannot modify a column which maps to a non key-preserved table 8. DELETE FROM REORDERINFO WHERE LASTNAME = 'LUCAS' AND FIRSTNAME = 'JAKE'; ERROR:cannot delete from view without exactly one key-preserved table 9. ROLLBACK; 10. DROP VIEW REORDERINFO;

ADVANCED CHALLENGE: CREATE OR REPLACE VIEW BESTSELL AS SELECT SUM(OI.QUANTITY) NUMSOLD,OI.ISBN,row_number() over (order by SUM(OI.QUANTITY) DESC) r FROM ORDERITEMS OI GROUP BY OI.ISBN; CREATE OR REPLACE VIEW TOP5 AS SELECT * FROM BESTSELL WHERE R < 6; CREATE OR REPLACE VIEW PROFIT AS SELECT ISBN,ROUND(((RETAIL-COST)/(SELECT SUM(RETAIL-COST) FROM BOOKS))*100,2) PROFIT FROM BOOKS WHERE ISBN IN (SELECT OI.ISBN NUMSOLD FROM ORDERITEMS OI GROUP BY OI.ISBN); SELECT ISBN,PROFIT FROM TOP5 JOIN PROFIT USING(ISBN) ORDER BY NUMSOLD DESC; ISBN PROFIT ---------- ---------------------3437212490 3.32 8843172113 10.92 2491748320 18.67 0401140733 3.47 8117949391 1.62

Das könnte Ihnen auch gefallen