第14章SQL语句题材.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第14章 结构化查询语言SQL ; SQL语言基础 ; SELECT语句 ; 简单的SELECT语句 ;2.用WHERE指定查询条件 ;在SQL中可以使用的关系运算符;使用逻辑运算符;IN子句; BETWEEN子句 ; 3.SELECT语句中使用表达式 ; 4.用ORDER BY对查询结果排序 ; 5.聚集查询结果 ; 使用计算函数 ;使用GROUP BY对查询结果分组;WHERE与HAVING的不同;6.VFP对SELECT语句的扩充;1)显示部分记录; 保存查询结果到数组、临时文件或数据表 ;3)保存查询结果到文本文件 使用选项TO FILE FileName[ADDITIVE]将查询结果保存到文本文件中,默认的扩展名是.txt。若磁盘上已经存在FileName,该命令将覆盖原文件,若使用ADDITIVE将查询结果追加在原文件尾部。 若在SELECT语句中同时使用INTO选项和TO选项,则TO选项将不起作用。 例:将所有学生的学号、姓名、出生日期信息输出到文本文件wb.txt中。 SELECT 学号, 姓名, 出生日期 FROM std_da TO FILE wb 4)将查询结果输出到打印机 使用选项TO PRINTER [PROMPT]将查询结果输出到打印机,若使用的PROMPT选项,在打印之前首先打开打印机设置对话框。 5)将查询结果输出到主屏幕 使用选项TO SCREEN将查询结果直接输出到VFP的主屏幕窗口。; 10.2.2 联接查询及子查询 ;1.简单的联接查询 ;例:检索会计专业的学生学号、姓名、性别和期末成绩。 SELECT std_da.学号, std_da.姓名, 性别, 期末 FROM std_da , std_cj; WHERE std_da.学号 = std_cj.学号 AND 专业 = 会计 2)选择列及缩减表名 SELECT D.学号 , D.姓名, D.性别, C.期末 FROM std_da D, std_cj C; WHERE D.学号 = C.学号 AND D.专业 = 会计 ;2.两个表以上的联接 ;3.UNION联接 ;两个用UNION联接在一起的查询应该有相同的输出字段,否则SELECT语句会出错。 例:检索出会计专业或选修课程代号为“002”的学号。 SELECT 学号 FROM std_xk WHERE 课程代号=002 ; UNION; SELECT 学号 FROM std_da WHERE 专业=会计 ;在使用UNION来联接多个查询时,所有重复的行只保留一行,如同SELECT语句中带有DISTINCT选项一样。UNION之后加ALL可以返回查询结果中的每一行,无论重复与否。上例中,若将UNION修改为 UNION ALL,结果为: 学号 3262001002 9112001002 3262001001 3262001002 3262001003 其中3262001002重复出现两次。; 例14-27下述代码找出高等数学成绩大于平均成绩的学生和大学英语成绩大于平均成绩的学生信息 。 SELECT 姓名,课程名,成绩 FROM xs,cj,kc ; WHERE xs.学号=cj.学号 AND kc.课程号=cj.课程号 AND 课程名=高等数学; AND 成绩 ; (SELECT AVG(成绩) FROM cj,kc WHERE kc.课程号=cj.课程号 AND 课程名=高等数学); UNION SELECT 姓名, 课程名, 成绩 FROM xs,cj,kc ; WHERE xs.学号=cj.学号 AND kc.课程号=cj.课程号 AND 课程名=大学英语 ; AND 成绩 ; (SELECT AVG(成绩) FROM cj,kc WHERE kc.课程号=cj.课程号 AND 课程名=大学英语); ORDER BY 2; 4.JOIN联接 ;JOIN的联接部分句法如下:;1)内联接 内联接用INNER JOIN实现,是最常用的联接类型,在这种情况下,查询结果只包括哪些与其他表中的一行或多行匹配的记录。 例:检索选修张力老师课的所有学号、姓名、课程代号、课程名 SELECT std_da.学号, std_da.姓名, tch_pk.课程代号,; tch_pk.课程名, tch_pk.教师名; FROM std_da INNER JOIN std_xk INNER JOIN tch_pk ; ON std_xk.课程代号 = tch_pk.课程代号 ; ON std_da.学号 = std_xk.学号; WH

文档评论(0)

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

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

1亿VIP精品文档

相关文档