- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4、 结构化查询语言SQL
结构化查询语言SQL 三、统计查询 SQL使用集合函数对一组值进行计算,返回单个值。 求一列中的最小值 MIN (列名) 求一列中的最大值 MAX (列名) 按列求平均值(用于数值列) AVG (列名) 按列求和(用于数值列) SUM (列名) 功能 集合函数 按列求值的个数 求记录的个数 COUNT(列名) COUNT(*) [e.g. 4-16]在选课表.dbf中查询课程号为“C120”的记录,输出课程号和选修该课程的人数。 SELECT 课程号, COUNT(*) AS 选修人数 FROM 选课表 WHERE 课程号=C120 [e.g. 4-17]在选课表.dbf中查询课程号为“C120”的记录,输出课程号、成绩的最高分和最低分、以及它们之间相差的分数。 SELECT 课程号,MAX(成绩) AS 最高分,MIN(成绩) AS 最低分 ,MAX(成绩)-MIN(成绩) AS 相差分数 FROM 选课表 WHERE 课程号=C120 四、分组查询 SQL使用GROUP BY子句对查询结果进行分组,使用HAVING子句在每个分组上选择记录。 WHERE与HAVING: WHERE作用于基本表或视图,HAVING作用于分组且必须与GROUP BY一起使用。 查询的执行顺序:WHERE→GROUP BY→HAVING。 [e.g. 4-18]在选课表.dbf中查询每门课程的选修人数,输出课程号和选修人数。 SELECT 课程号, COUNT(*) AS 选修人数 FROM 选课表 GROUP BY 课程号 [e.g. 4-19]在选课表.dbf中查询选修两门或者两门以上课程的学生表记录,输出学号和选课表门数。 SELECT 学号, COUNT(*) AS 选课表门数 FROM 选课表 GROUP BY 学号 HAVING COUNT(*)=2 五、查询排序 SQL使用ORDER BY子句对查询结果进行排序。 功能 排序选项 降序排列 升序排列(默认值) DESC ASC [e.g. 4-20]在选课表.dbf中查询选修了课程“C130” 并且成绩最高的3名学生表的记录,输出学号和成绩。 SELECT TOP 3 学号, 成绩 FROM 选课表 WHERE 课程号=C130 ORDER BY 成绩 DESC TOP必须与ORDER BY一起使用。 六、连接查询 连接查询用于对两个或者两个以上的表进行查询,包括内连接(INNER JOIN) 、外连接(OUTER JOIN) 等。 1.内连接 SELECT 查询列 FROM 表1, 表2 WHERE 连接条件 AND 查询条件 命令 连接查询。 功能 SELECT 学生表.学号, 姓名, 课程号 FROM 学生表, 选课表 WHERE 学生表.学号=选课表.学号 AND 课程号=C130 [e.g. 4-21]在学生表.dbf和选课表.dbf中查询选修课程“C130”的学生表记录,输出学号、姓名和课程号。 2.外连接 SELECT 查询列 FROM 表1 [INNER|LEFT|RIGHT|FULL] JOIN 表2 ON 连接条件 WHERE 查询条件 命令 连接查询。 功能 完全连接,输出两个表匹配的数据行、左表剩余的数据行和右表剩余的数据行。 FULL JOIN 右连接,输出两个表匹配的数据行和右表剩余的数据行。 RIGHT JOIN 说明 连接类型 左连接,输出两个表匹配的数据行和左表剩余的数据行。 内连接,输出两个表匹配的数据行。(默认值) LEFT JOIN INNER JOIN 结构化查询语言 结构化查询语言SQL(StruCtured Query Language)是关系型数据库的标准语言,包括数据定义、数据操纵、数据查询和数据控制四个部分。 GRANT、REVOKE 数据控制(VFP不支持) SELECT 数据查询 INSERT、UPDATE、DELETE 数据操纵 CREATE、ALTER、DROP 数据定义 命令 SQL的功能 §1 数据定义 一、创建数据表 CREATE TABLE 表文件名 (字段名 字段类型[(字段长度[,小数位数])][,…]) 命令 创建数据表。 功能 CREATE TABLE 学生表 (学号 C(12), 姓名 C(8), 性别 L, 出生年月 D, 评分 N(3, 0)) [e.g. 4-1] 创建新表学生表.dbf,表中有学号 C(12)、姓名 C(8)、性别 L、出生年月 D、评分 N(3, 0)五个字段。 二、修改数据表 1. 添加字段 ALTER TABLE 表文件名 ADD 字段名 字段类型[(字段长度[,小数位数])] 命令 在表中添加新
文档评论(0)