- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2 单表查询
二 SQL数据操纵1 SQL查询 2 SELECT 查询语句(P192) 3 基于单表的查询(P127) 1) 查询指定字段2) * 统配符 3) 按字段表达式查询 4)用DISTINCT去掉重复记录 5)用WHERE过滤记录 6) 对查询结果排序 7) SQL 的统计函数( P195 表6-5) 8) 对查询结构进行分组 * * 1) 是SQL的核心部分 2) 查询可一次执行,也可以作为文件保存重复查询 SQL的数据操纵语言 查询语言:SELECT 插入语言:INSERT 修改语言:UPDATE 删除语言:DELETE SELECT 查询语句 (P125) SELECT [ALL|DISTICT] 字段表达式1 [,………….n] FROM 表文件名1 [,……….n] [ WHERE 条件表达式 ] [ GROUP BY 分组表达式] [ ORDER BY 字段名 [ ASC | DESC ] ] ALL 指定在结果集中可以显示重复行。ALL 是默认设置。 DISTINCT 指定在结果集中只能显示唯一行。 字段表达式 为结果集选择的列。选择列表是以逗号分隔的一系列表达式 FROM 表文件名 选择的表文件 WHERE 查询的条件 GROUP BY 按分组表达式的值分组 ORDER BY 显示按什么字段排序 1) 查询指定字段 例题: 查询全部学生的学号和姓名 SELECT 学号,姓名FROM 学生表 2) * 统配符 例题 : 查询全部课程记录 SELECT *FROM 课程表 表达式: 用运算符将字段;变量;常量等连接起来的式子 例题:查询学生的学号;姓名和出生年份 学生表中有年龄,无出生年份,但经过运算可以得到出生年份 出生年份=当前年份-年龄 或 出生年份=入学年份-年龄 注意 在2004-年龄与‘出生年份’之间无逗号 SELECT 学号,姓名,YEAR(入学年份)-年龄 出生年份 FROM 学生表 例题: 查询班级名, 班级名重复的记录不在显示 SELECT DISTINCT 班级名FROM 学生表 WHERE之后表示的是查询条件,即满足条件的记录才显示 运算符 (P195 表6-3) 算术运算符 + 比较运算符 范围运算符 between 子查询运算符 in 字符串运算符 + 未知运算符 is null 逻辑运算符 and 组合运算符 union 例题 列出软件2班女同学的名单 SELECT * FROM 学生表 WHERE 班级名 = ‘软件2班’ AND 性别 = ‘女’ 例题 列出年龄19岁以下或者女同学的名单 SELECT * FROM 学生表 WHERE 年龄 19 OR 性别 = ‘女’ [比较运算符的使用] 例题: 列出年龄18岁到20岁之间的所有学生名单 SELECT * FROM 学生表 WHERE 年龄 BETWEEN 18 AND 20 ?或 SELECT * FROM 学生表 WHERE 年龄=18 AND 年龄=20 [范围运算符的使用] 例题: 列出有先修课的课程名 SELECT 课程名 FROM 课程表 WHERE 先修课 IS NOT NULL [未知运算符的使用] [子查询运算符的使用] 例题: 列出计算机系和国际贸易系学生的学号, 姓名 ?SELECT 学号,姓名 FROM 学生表 WHERE 所在院系 IN (‘计算机’,‘国际贸易’) 或 SELECT 学号,姓名 FROM 学生表 WHERE 所在院系=‘计算机’ OR 所在院系=‘国际贸易’例题: 列出不是电子学系,也不是会计学系学生的学号, 姓名, SELECT 学号,姓名 FROM 学生表 WHERE 所在院系 NOT IN (‘电子学’,‘会计学’) 或? SELECT 学号,姓名 FROM 学生表 WHERE NOT(所在院系=‘电子学’ OR 所在院系=‘会计学’) 例题: 列出所有姓苏的老师 SELECT DISTINCT 教师名 FROM 授课表 WHERE 教师名 LIKE ‘苏%’ 例题: 列出”苏 ? 步”的老师名 ‘ _ ’ 任何单个字符。 SELECT DISTINCT 教师名 FROM 授课表 WHERE 教师名 LIKE ‘苏_步’ [字符串运算符使用](P195 表6-4) 命令子句:ORDER BY 字段表达式1, [ ASC|DESC ] ASC:指定按递增顺序 DESC:指
文档评论(0)