单元4 数据查询语言dql3单元4 数据查询语言dql-3单元4 数据查询语言dql-3单元4 数据查询语言dql-3.ppt

单元4 数据查询语言dql3单元4 数据查询语言dql-3单元4 数据查询语言dql-3单元4 数据查询语言dql-3.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指导——两表内联接查询信息2-2 难点分析 查询年级编号为1的年级名称、科目名称及学时 SELECT ……FROM Subject AS J INNER JOIN Grade AS G ON J.GradeId=G.GradeId WHERE G.GradeId=1 完成时间:20分钟 SELECT S.SName AS 姓名, CS.CourseName AS 课程, C.Score AS 成绩 FROM Students AS S INNER JOIN Score AS C ON (S.SCode = C.StudentID) INNER JOIN Course AS CS ON (CS.CourseID = C.CourseID) 三表内联接 CourseID CourseName …… …… SName SCode …… …… StudentsID CourseID Score …… …… …… 姓名 课程 成绩 …… …… …… 使用WHERE语句如何实现? 练习——三表内联接查询信息 需求说明 查询学生学号、姓名、考试科目名称及成绩 查询参加“走进Java编程世界”考试的学生姓名、成绩、考试日期 完成时间:10分钟 左外联接 SName SCode 梅超风 1 陈玄风 2 陆乘风 3 曲灵风 4 StudentsID CourseID Score 1 001 97 2 001 89 2 002 67 3 002 76 3 003 81 Students Score SName CourseID Score 梅超风 001 97 陈玄风 001 89 陈玄风 002 67 陆乘风 002 76 陆乘风 003 81 曲灵风 NULL NULL 查询结果 SELECT S.SName,C.CourseID,C.Score FROM Score AS C LEFT JOIN Students AS S ON C.StudentID = S.SCode 不一样,主表和从表位置已互换 SELECT S.SName,C.CourseID,C.Score FROM Students AS S LEFT JOIN Score AS C ON C.StudentID = S.SCode 主表(左表)Students中的数据逐条匹配从表Score中的数据 1、匹配,返回到结果集 2、无匹配,NULL值返回到结果集 演示示例5:左外连接 猜一猜:这样写,返回的查询结果是一样的吗? SELECT 图书编号,图书名称,出版社名称 FROM 图书表 RIGHT OUTER JOIN 出版社表 ON 图书表.出版社编号 = 出版社表.出版社编号 右外联接 图书编号 图书名称 出版社名称 1 走进Java编程世界 北大出版社 2 HTML和CSS网页技术 清华出版社 …… …… …… NULL NULL 新知出版社 …… …… …… 也许很久没出版书籍了 右外联接的原理与左外联接相同 右表逐条去匹配记录;否则NULL填充 练习——使用外联接查询信息 需求说明 查询所有科目的参考信息 查询从未考试的科目信息 查询所有年级对应的学生信息 完成时间:15分钟 在一个SQL语句中,GROUP BY、WHERE、HAVING这三部分正确使用次序是什么? 将以下的SQL语句改写成内联接查询的语句 如下T-SQL语句返回结果是什么? SELECT Students.SName, Score.CourseID,Score.Score FROM Students,Score WHERE Students.SCode = Score.StudentID 总结 SELECT * FROM Item AS a LEFT JOIN OrderDetails AS b ON a.Icode=b.ItemCode * 注意:本章2课时 * 1、电话号码不以6开头的所有电话信息。 * * 提示错误信息,因为列未包含在聚合函数中,可修改为: SELECT A1,B1,MAX(C1) FROM A GROUP BY A1,B1 * * Where实现: SELECT S.SName AS 姓名, CS.CourseName AS 课程, C.Score AS 成绩 FROM Students AS S ,Score AS C , Course AS CS WHERE (S.SCode = C.StudentID) AND (CS.CourseID = C.CourseID) * 外部联接会返回 FROM 子句中提到的至少一个表或视图中的所有行 * 3、Item表和OrderDetails表中的相关记录以及I

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档