SQL查询范例.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL查询范例

SQL查詢範例: 從Classes和Courese資料表取出所有在221-S和100-M教室上課的課程資料: SELECT * FROM Courses WHERE EXISTS (SELECT * FROM Classes WHERE (room=‘221-S’ or room=‘100-M’) and Courses.c_no=Classes.c_no) 12-7-3 邏輯運算子的子查詢-EXISTS指令 SQL查詢範例: SELECT DISTINCT Courses.* FROM Courses, Classes WHERE (Classes.room=221-S or Classes.room=100-M) and Courses.c_no=Classes.c_no 12-7-3 邏輯運算子的子查詢-EXISTS指令 SQL查詢範例: 從Courses和Classes資料表取出學號S004沒有選修的課程,如下所示: SELECT * FROM Courses WHERE c_no NOT IN (SELECT c_no FROM Classes WHERE sid=S004) 12-7-3 邏輯運算子的子查詢-IN指令 SQL查詢範例: 從Students、Classes和Instructors資料表找出學生江小魚選修哪些講師的哪些課程: SELECT * FROM Instructors WHERE eid IN (SELECT eid FROM Classes WHERE sid=(SELECT sid FROM Students WHERE name = 江小魚)) 12-7-3 邏輯運算子的子查詢-IN指令 SQL查詢範例: 上頁子查詢也可以使用合併查詢取得相同結果,如下所示: SELECT DISTINCT Instructors.* FROM Instructors, Classes, Students WHERE Instructors.eid = Classes.eid and Classes.sid = Students.sid and Students.name = 江小魚 12-7-3 邏輯運算子的子查詢-IN指令 在SQL指令只需使用EXISTS和NOT運算子的子查詢,我們一樣可以建立關聯式代數的差集運算,並且進一步導出交集運算。 差集查詢:在SQL指令配合使用EXISTS和NOT運算子的子查詢。 交集查詢:使用差集運算導出,在第6章的交集的關聯式代數運算式,如下所示: R∩S = R – (R-S) = S-(S-R) 12-7-4 差集與交集的子查詢 SQL查詢範例: 在Students和Instructors兩個資料表的name欄位使用差集運算列出存在Students資料表的學生姓名,但是姓名不存在Instructors資料表: SELECT name FROM Students WHERE NOT EXISTS (SELECT name FROM Instructors WHERE Instructors.name = Students.name ) 12-7-4 差集與交集的子查詢-差集查詢 關聯表R和S的交集可以使用差集運算來導出,共分成兩個步驟,如下所示: 步驟一:取得R-S差集運算結果的資料表,在Transact-SQL和MySQL MaxDB的ANSI-SQL有不同的作法。 步驟二:在取得R-S差集運算結果的資料表後,就可以再執行R – Temp差集運算,其結果就是R與S資料表的交集運算。 12-7-4 差集與交集的子查詢-交集查詢 SQL查詢範例:交集查詢(步驟一) 在Students和Instructors兩個資料表的name欄位執行R-S的差集運算,以取得運算結果的Temp資料表,如下所示: SELECT name INTO Temp FROM Students WHERE NOT EXISTS (SELECT name FROM Instructors WHERE Instructors.name = Students.name ) 12-7-4 差集與交集的子查詢-交集查詢 SQL查詢範例:交集查詢(步驟二) 再執行R – (R-S)差集運算,也就是執行R – Temp,即可取得交集運算結果,顯示同時存在兩個資料表的姓名清單: SELECT name FROM Students WHERE NOT EXISTS (SELECT name FROM Temp WHERE name = St

您可能关注的文档

文档评论(0)

busuanzi + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档