第 8 章綱要定義、限制、查詢與視界.pptVIP

第 8 章綱要定義、限制、查詢與視界.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 8 - * UPDATE (續) 範例:將所有在 Research 部門工作的員工加薪10% U6: UPDATE EMPLOYEE SET SALARY = SALARY *1.1 WHERE DNO IN (SELECT DNUMBER FROM DEPARTMENT WHERE DNAME=Research) 因為修改後的薪資值是依據每個值組原先的薪資值,所以需要參考SALARY屬性兩次 U6中右邊的SALARY屬性的參考動作是參考在修改前的舊SALARY值 左邊的是參考在修改之後的新SALARY值 8 - * 複習SQL查詢語法 SQL的查詢最多可包含6個子句,但只有前兩個SELECT與FROM子句是必要的。子句是以下列的順序來指定: SELECT attribute list FROM table list [WHERE condition] [GROUP BY grouping attribute(s)] [HAVING group condition] [ORDER BY attribute list] 在SQL中有3個命令可以用來修改資料庫:INSERT、DELETE和UPDATE 6-16 (e) Select Fname, Lname From Employee Where ((Select Pno From Works_on Where Ssn=Essn) Contains (Select Pnumber From Project)) 8 - * (f) Select Fname, Lname From employee Where not exists (select * from Works_on) (g) Select Dname, Avg(Salary) From employee, department Where Dno=Dnumber Group by Dname 8 - * (H) Select Avg(Salary) From employee Where sex=‘F’ 8 - * * * * * * * * * * * * * * * * * * * * * * * * * * * * 8 - * 相互關聯的巢狀查詢 (續) CONTAINS 與關聯式代數DIVISION運算的功能類似 後來這個運算子逐漸從語言中被淘汰,原因可能是因為很難有效率實作這個運算子 8 - * EXISTS函數 EXISTS函數,是用來檢查相互關聯的巢狀查詢的結果是否為空的 (沒有任何值組) 將查詢範例16用EXISTS改寫成Q16B如下: 8 - * EXISTS函數 (續) 查詢範例16:擷取眷屬的名字和性別與員工本人相同的員工姓名 Q16B: SELECT FNAME, LNAME FROM EMPLOYEE AS E WHERE EXISTS (SELECT * FROM DEPENDENT WHERE E.SSN=ESSN AND E.Sex=Sex AND FNAME=DEPENDENT_NAME) 8 - * EXISTS函數 (續) 查詢範例6:擷取沒有眷屬的員工姓名 Q6: SELECT FNAME, LNAME FROM EMPLOYEE WHERE NOT EXISTS (SELECT * FROM DEPENDENT WHERE SSN=ESSN) 在Q6中,相互關聯的巢狀查詢會擷取所有與EMPLOYEE值組相關聯的DEPENDENT值組,如果不存在則此EMPLOYEE值組會被選取 對於SQL的表達能力而言,EXISTS是必要的 8 - * 明確指定的集合 也可以在WHERE子句中,使用明確數值的集合來取代巢狀查詢 查詢範例17:擷取所有在1、2或3號計畫工作的員工的社會安全號碼 Q17: SELECT DISTINCT ESSN FROM WORKS_ON WHERE PNO IN (1, 2, 3) 8 - * SQL查詢中的NULL SQL可以檢查某個值是否為NULL (未知或無法取得或不適用) SQL是使用IS或IS NOT來比較NULL,因為SQL將每一個空值都視為與其他的空值不同,所以不應該比較是否相等 查詢範例14:擷取所有沒有上司的員工姓名 Q14: SELECT FNAME, LNAME F

文档评论(0)

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

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

1亿VIP精品文档

相关文档