第8章_SQL进阶.pptVIP

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章_SQL进阶

資料庫管理與應用 第六版 Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden 處理多個表格 – 合併 合併 – 將兩個以上含有相同值域的表格結合成單一表格或視界的關聯式運算 等值合併 –以相等的共同欄位值為合併條件的一種合併,共同的欄位會重複出現在結果表格中 自然合併 – 會消除結果表格中重複欄位的等值合併 外部合併 – 這種合併會將共同欄位值不相符的列也納入結果表格中(在內部合併中,則只有欄位值相符的資料列會出現在結果表格中) 聯集合併 – 包含合併中所有表格的欄位,每個表格的每一列為一實例 自然合併範例 對於每位有下訂單的顧客,他的姓名與訂單號碼為何? SELECT CUSTOMER_T.CUSTOMER_ID, CUSTOMER_NAME, ORDER_ID FROM CUSTOMER_T, ORDER_T WHERE CUSTOMER_T.CUSTOMER_ID = ORDER_T.CUSTOMER_ID 外部合併範例 為CUSTOMER表格中的所有顧客,列出他們的顧客姓名、識別碼、及訂單號碼。即使沒有訂單的顧客,也請列出他們的顧客識別碼與姓名。 SELECT CUSTOMER_T.CUSTOMER_ID, CUSTOMER_NAME, ORDER_ID FROM CUSTOMER_T, LEFT OUTER JOIN ORDER_T WHERE CUSTOMER_T.CUSTOMER_ID = ORDER_T.CUSTOMER_ID 多個表格的合併範例 準備為1006號訂單產生發票所需的資訊 SELECT CUSTOMER_T.CUSTOMER_ID, CUSTOMER_NAME, CUSTOMER_ADDRESS, CITY, SATE, POSTAL_CODE, ORDER_T.ORDER_ID, ORDER_DATE, QUANTITY, PRODUCT_NAME, UNIT_PRICE, (QUANTITY * UNIT_PRICE) FROM CUSTOMER_T, ORDER_T, ORDER_LINE_T, PRODUCT_T WHERE CUSTOMER_T.CUSTOMER_ID = ORDER_LINE.CUSTOMER_ID AND ORDER_T.ORDER_ID = ORDER_LINE_T.ORDER_ID AND ORDER_LINE_T.PROEUCT_ID = PRODUCT_PRODUCT_ID AND ORDER_T.ORDER_ID = 1006; 處理多個表格 - 子查詢 子查詢 = 將內層查詢(SELECT敘述)置於外層查詢中 選項: 放入WHERE子句的條件中 做為FROM子句中的「表格」 放在HAVING子句中 子查詢可以是: 非關聯的 – 針對整個外層查詢執行一次 相關聯的 – 針對外層查詢傳回的每一列執行一次 子查詢範例 顯示所有下過訂單的顧客? SELECT CUSTOMER_NAME FROM CUSTOMER_T WHERE CUSTOMER_ID IN (SELECT DISTINCT CUSTOMER_ID FROM ORDER_T); 相關聯的 vs.非關聯的子查詢 非關聯的子查詢: 不必依賴外層查詢的資料 針對整個外層查詢執行一次 相關聯子查詢: 必須利用外層查詢的資料 針對外層查詢的每一列執行一次 可以利用EXISTS運算子 相關聯子查詢範例 顯示所有包含天然梣木傢具的訂單 SELECT DISTINCT ORDER_ID FROM ORDER_LINE_T WHERE EXISTS (SELECT * FROM PRODUCT_T WHERE PRODUCT_ID = ORDER_LINE_T.PRODUCT_ID AND PRODUCT_FINISH = ‘Natural ash’); 子查詢範例 – 使用衍生性表格 顯示所有包含天然梣木傢具的訂單 SELECT PRODUCT_DESCRIPTION, STANDARD_PRICE, AVGPRICE FROM (SELECT AVG(STANDARD_PRICE) AVGPRICE FROM PRODUCT_T), PRODUCT_T WHERE STANDARD_PRICE AVG_PRICE; 確保異動完整性 異動 = 必須一起做完、或完全都不要做的獨立工作單位 可能涉及多個更新 如果有任何更新失敗,其他所有的更新都必須取消 異動的SQL命令 BEGIN TRANSACTION/END TRANSACTION 標示異動的疆界 CO

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档