第三章VF中SQL语言的应用2.pptVIP

  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文档。上传文档
查看更多
第三章VF中SQL语言的应用2

1检索学生表中的学号、姓名、性别和籍贯 2求所有学生在2004年的年龄 3求1987年以后出生的学生学号和姓名 4查找入学成绩大于等于600的同学的学号、姓名和入学成绩 5查找入学成绩在570分以上的女性学生,显示学号、姓名、性别和入学成绩 6入学成绩在500到600间的学生学号、姓名和入学成绩 7求籍贯为“江西南昌”或“吉林”的学生学号、姓名和籍贯 8查找江西籍的男性学生的学号和姓名 9求学生表中入学成绩在600分以上的人数 10求学生表中入学成绩的平均成绩 11按课程类别号,求各种类别课程的门数 ;*;select …where 姓名 like “李%” select ….where at(“李”,姓名)0 select …..where like(“李*”,姓名) 三个是等价的。 Like是SQL语言中的,因此,通配符是:%和_. 说明: _ 替代一个字符, %替代多个字符。 Like()是VFP自带的函数,通配符是:*和?. 说明: ? 替代一个字符, * 替代多个字符。 ;简单的计算查询: 计算平均值avg(cj) as 平均成绩 计算总分:sum(cj) as 总成绩 求最高值:max(cj) as 最高分 求最小值:min(cj) as 最低分 ;4.2.2 多表查询 ;select * from 学生表,成绩表的结果;带Where子句的多表查询;例4-31:将学生表和课程表进行自然联接,求结果集。 select * from 学生表,成绩表; where 学生表.学号 = 成绩表.学号 ;4.2.2 多表查询(工作原理);上述SELECT语句的等价SQL语句如下: select * ; from 学生表 inner join 成绩表 ; on 学生表.学号 = 成绩表.学号 inner join(内联接):这是最普通的联接类型。只输出满足连接条件的元组 outer join(外联接):分为left outer join(左外联接)和right outer join(右外联接),以指定表为连接主体,将主体表中不满足连接条件的元组一并输出 full join:完整外部联接,返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。;4.2.2 多表查询(工作原理);4.2.2 多表查询(工作原理);例4-33:将“学生表”、“成绩表”和“课程表”进行自然联接,求结果 select *; from 学生表,成绩表,课程表; where 学生表.学号 = 成绩表.学号; and 课程表.课程号 = 成绩表.课程号 分析:将三个表进行自然连接,需要两个连接条件。先将“学生表”和“成绩表”自然联接,得到一个关系表,其中包含字段是“学生表”和“成绩表”字段的叠加。再将得到的关系表与“课程表”进行自然联接。最终的结果是将三个表的字段叠加,但记录是在“成绩表”的基础上扩展相关字段得到。 当然也可以理解为先进行“课程表”与“成绩表”的自然联接,然后再用得到的关系与“学生表”进行自然联接。;4.2.2 多表查询(工作原理);4.2.2 多表查询(工作原理);4.2.2 多表查询(工作原理);4.2.2 多表查询(举例);例4-35:求计算机科学技术2003-01班的所有成绩单 分析:已知条件为“班级表”中的“专业名称”,待求为“学生表”的“姓名”;“课程表”的“课程号、课程名”;“成绩表”的“成绩”。 select 姓名,课程表.课程号,课程名,成绩; from 学生表,成绩表,课程表,班级表; where 学生表.学号 = 成绩表.学号; and 课程表.课程号 = 成绩表.课程号; and 班级表.班级号 = 学生表.班级号; and 专业名称 = 计算机科学技术2003-01班;例4-36:求“计算机科学技术2003-01班”的《微机操作》成绩单。 select 姓名,课程表.课程号,课程名,成绩; from 学生表,成绩表,课程表,班级表; where 学生表.学号 = 成绩表.学号; and 课程表.课程号 = 成绩表.课程号; and 班级表.班级号 = 学生表.班级号; and 专业名称 = 计算机科学技术2003-01班; and 课程名 = 微机操作;下面我们给出多表查询中使用GROUP BY子句的例子。 例4-37:求每个学生所修的总学分数。 select 姓名,sum(学分); from 学生表,成绩表,课程表; where 学生表.学号 = 成绩表.学号; and 课程表.课程号 = 成绩表.课程号;

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档