网站大量收购闲置独家精品文档,联系QQ:2885784924

3 第4.1 sql语言.ppt

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

关系数据库标准语言SQL 3.1 SQL概述 Structured Query Language, 1974年被提出 关系数据库的国际标准语言:大多数数据库均用SQL作为共同的数据存取语言和标准接口,实现不同数据库系统之间的互操作 目前仍被不断扩充 介于关系代数和关系演算之间,三者可相互转换 是一个综合的,通用的,功能极强的关系数据库语言。 SQL的特点 综合统一: 集DDL、DML、DCL功能于一体,可独立完成数据库生命周期中的全部活动,语言风格统一 高度非过程化: 用户只需提出“做什么”,而无需指明“怎么做 ” 面向集合的操作方式: 操作对象、查询结果、更新数据均可以是元组的集合 提供两种使用方式: 自含式、嵌入式 语言简捷,易学易用 3.2 数据定义 SQL的数据定义语言(DDL) 3.3 查询 数据库查询是数据库的核心操作,SQL 提供了基于集合和关系的查询操作,具有丰富的功能和灵活的使用方式 一个 SQL 查询的结果是一个关系 查询可分为 单表查询:查询只涉及一个表 连接查询:查询同时涉及两个以上的表 嵌套查询:一个查询块嵌套在另一个查询块中 视图查询:在视图基础上的查询 SELECT [ALL|DISTINCT] 目标列表达式 [,目标列表达式] … FROM 表名或视图名[,表名或视图名] … [ WHERE 条件表达式 ] [ GROUP BY 列名1 [ HAVING 条件表达式 ] ] [ ORDER BY 列名2 [ ASC|DESC ] ]; ? 3.3.1 SELECT语句的一般格式(续) SELECT子句:指定要显示的属性列 FROM子句:指定查询对象(基本表或视图) WHERE子句:指定查询条件 GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用集函数。 HAVING短语:筛选出只有满足指定条件的组 ORDER BY子句:对查询结果表按指定列值的升序或降序排序 3.3.1 SELECT语句的一般格式(续) 示例数据库:学生-课程数据库 学生表:Student(Sno,Sname,Ssex,Sage,Sdept) 课程表:Course(Cno,Cname,Cpno,Ccredit) 学生选课表:SC(Sno,Cno,Grade) 单表查询 查询仅涉及一个表或一个视图,是一种最简单的查询操作 一、选择表中的若干列 二、选择表中的若干元组 三、ORDER BY子句 (对查询结果排序) 四、聚集函数 五、GROUP BY子句 (对查询结果分组) 一.选择表中的若干列————1. 查询指定列 例3.10 查询全体学生的学号,姓名和所在系的有关信息。 SELECT Sno, Sname, Sdept FROM Student; 例3.11 查询全体学生的所有信息。 SELECT * FROM Student; 该查询等价于如下查询: SELECT Sno, Sname, Ssex, Sage, Sdept FROM Student; 一.选择表中的若干列——2.查询经过计算的值 SELECT子句的目标列表达式为表达式 表中的属性列(列名,列别名) 算术表达式 字符串常量 函数 等 指定列别名: 列名 | 表达式 [AS] 别名 或 别名 = 列名 | 表达式 一.选择表中的若干列——2.查询经过计算的值(续) 例3.12 查询全体学生的姓名及出生年份。 SELECT Sname, 2010-Sage FROM Student; 例3.13 对于上例中,在SELECT语句中可以指定一个字符常量,在查询结果中的年龄前面显示“Year of Birth”。 SELECT Sname, Year of Birth, 2010-Sage FROM Student; 一.选择表中的若干列——2.查询经过计算的值(续) 例3.14 对于例3.12,可以为出生年份指定一个别名Birthday。 SELECT Sname, 2010-Sage Birthday FROM Student; 3.4.2 单表查询(续)---二.选择表中的若干元组 消除取值重复的行 查询满足条件的元组 二、选择表中若干元组 取消取值重复的列:指定DISTINCT短语 查询满足条件的元组:在WHERE子句中指定条件 对查询结果排序:使用ORDER BY 使用集函数:COUNT, SUM, AVG, MAX, MIN 对查询结果分组:使用GROUP BY,HAVING DISTINCT 短语 SQL 允许重复的元组/行存在,如果需要去掉重复的元组/行,必须指定DISTINCT

文档评论(0)

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

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

1亿VIP精品文档

相关文档