《SQL进阶》PPT课件

《SQL进阶》PPT课件

ID:38603500

大小:254.50 KB

页数:22页

时间:2019-06-16

《SQL进阶》PPT课件_第1页
《SQL进阶》PPT课件_第2页
《SQL进阶》PPT课件_第3页
《SQL进阶》PPT课件_第4页
《SQL进阶》PPT课件_第5页
资源描述:

《《SQL进阶》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章:SQL進階資料庫管理與應用第六版JeffreyA.Hoffer,MaryB.Prescott,FredR.McFadden1©PrenticeHall,2002處理多個表格–合併合併–將兩個以上含有相同值域的表格結合成單一表格或視界的關聯式運算等值合併–以相等的共同欄位值為合併條件的一種合併,共同的欄位會重複出現在結果表格中自然合併–會消除結果表格中重複欄位的等值合併外部合併–這種合併會將共同欄位值不相符的列也納入結果表格中(在內部合併中,則只有欄位值相符的資料列會出現在結果表格中)聯集合併–包含合併中所有表格的欄位,每個表格的每一列為一實例所合併表格中的共同欄位,通常是在1:M關係中

2、之主要表格的主鍵,以及相依表格的外來鍵2©PrenticeHall,2002重訪圖7-3:松谷家具的樣本資料顧客訂單訂單明細產品3©PrenticeHall,2002對於每位有下訂單的顧客,他的姓名與訂單號碼為何?SELECTCUSTOMER_T.CUSTOMER_ID,CUSTOMER_NAME,ORDER_IDFROMCUSTOMER_T,ORDER_TWHERECUSTOMER_T.CUSTOMER_ID=ORDER_T.CUSTOMER_ID在FROM子句中涉及多個表格的合併自然合併範例WHERE子句進行2個表格共同欄位的等值檢查4©PrenticeHall,2002為CUSTOMER

3、表格中的所有顧客,列出他們的顧客姓名、識別碼、及訂單號碼。即使沒有訂單的顧客,也請列出他們的顧客識別碼與姓名。SELECTCUSTOMER_T.CUSTOMER_ID,CUSTOMER_NAME,ORDER_IDFROMCUSTOMER_T,LEFTOUTERJOINORDER_TWHERECUSTOMER_T.CUSTOMER_ID=ORDER_T.CUSTOMER_ID外部合併範例LEFTOUTERJOIN語法可以讓沒有對應訂單資料的顧客資料也同樣出現5©PrenticeHall,2002準備為1006號訂單產生發票所需的資訊SELECTCUSTOMER_T.CUSTOMER_ID,CUS

4、TOMER_NAME,CUSTOMER_ADDRESS,CITY,SATE,POSTAL_CODE,ORDER_T.ORDER_ID,ORDER_DATE,QUANTITY,PRODUCT_NAME,UNIT_PRICE,(QUANTITY*UNIT_PRICE)FROMCUSTOMER_T,ORDER_T,ORDER_LINE_T,PRODUCT_TWHERECUSTOMER_T.CUSTOMER_ID=ORDER_LINE.CUSTOMER_IDANDORDER_T.ORDER_ID=ORDER_LINE_T.ORDER_IDANDORDER_LINE_T.PROEUCT_ID=PRODU

5、CT_PRODUCT_IDANDORDER_T.ORDER_ID=1006;這個合併中涉及4個表格多個表格的合併範例在WHERE子句中,每一對表格需要一個等值檢查的條件,以比對主鍵與外來鍵6©PrenticeHall,2002圖8-14個表格的合併結果來自CUSTOMER_T表格來自ORDER_T表格來自PRODUCT_T表格7©PrenticeHall,2002處理多個表格-子查詢子查詢=將內層查詢(SELECT敘述)置於外層查詢中選項:放入WHERE子句的條件中做為FROM子句中的「表格」放在HAVING子句中子查詢可以是:非關聯的–針對整個外層查詢執行一次相關聯的–針對外層查詢傳回的每一

6、列執行一次8©PrenticeHall,2002顯示所有下過訂單的顧客?SELECTCUSTOMER_NAMEFROMCUSTOMER_TWHERECUSTOMER_IDIN(SELECTDISTINCTCUSTOMER_IDFROMORDER_T);子查詢範例子查詢是內嵌在括號中。在本例中,它會傳回供外層查詢之WHERE子句中使用的清單IN運算子會測試該CUSTOMER_ID的值是否包含在子查詢所傳回的清單中9©PrenticeHall,2002相關聯的vs.非關聯的子查詢非關聯的子查詢:不必依賴外層查詢的資料針對整個外層查詢執行一次相關聯子查詢:必須利用外層查詢的資料針對外層查詢的每一列執

7、行一次可以利用EXISTS運算子10©PrenticeHall,2002圖8-2(a)處理非關聯的子查詢沒有參考外層查詢的資料,所以子查詢只執行一次1.子查詢(顯示在方框中)會先處理,並建立中間的結果表格:2.外層查詢會傳回包含在中間結果表格中每名顧客的顧客資訊:11©PrenticeHall,2002顯示所有包含天然梣木傢具的訂單SELECTDISTINCTORDER_IDFROMORDER_L

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。