[05]第五章关系数据库标准语言SQL(改2).ppt

[05]第五章关系数据库标准语言SQL(改2).ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 SQL关系数据库查询语言 5.1 SELECT-SQL查询 SQL语言(Structuered Query Language)是关系数据库的标准语言,是一种非过程化语言,它的大多数语句都是独立执行的,与上下文无关。它既不是数据库管理系统,也不是应用软件开发语言,只能用于对数据库中数据的操作。SQL语句最主要的功能就是查询功能。 SQL是结构化查询语言有四大功能: 用SELECT-SQL命令直接查询(简单查询) 一、SELECT-SQL命令格式 【格式】基本格式: SELECT SELECT 表达式 [AS 列名] [,…]FROM 表名 【功能】根据查询要求,输出查询的结果。 注意:使用SQL语句不需要用use打开表,执行SQL语言将自动打开相关表 例: select 编号,姓名,性别,出生日期 from rcda 例:select 编号,价格*0.17 as 增值税 from 设备清单表 Select avg(价格)*0.17 as 增值税均值 from 设备清单表 用SELECT-SQL命令直接查询 【子句格式1】 SELECT SELECT 表达式 [AS 列名] [,…] FROM 表名 [order by 表达式[asc|desc]] 说明: order by子句用于指定查询结果中记录的排列顺序. 注意: order by后的表达式只可以是字段或表示查询结果中列的位置的数值 例:select 编号,姓名,性别,工资现状 from rcda; Order by 性别,工资现状 desc 功能:将记录按性别升序排列,性别相同时按工资现状降序排列. 用SELECT-SQL命令简单联接查询 【子句格式2】 SELECT SELECT 表达式 [AS 列名] [,…] FROM 表名 [where 查询条件|联接条件] 说明: where子句用于指定查询条件和联接条件. 例:select 编号,姓名,性别,工资现状,出生日期; from rcda Where 工资现状=5000 例:查询大修过的设备的编号、名称和部门名 Select rcda.编号,rcda.姓名,zytc.专业; from rcda, zytc where rcda.编号=zytc.编号 用SELECT-SQL命令简单联接查询示例 例:找出成绩小于60的学生姓名以及该生成绩 select 姓名,成绩 from 学生情况表,选课成绩表; where (成绩60) and (学生情况表.学号=选课成绩表.学号) 例:找出课程编号为10001的学生姓名以及该生成绩 select 姓名,成绩 from 学生情况表,选课成绩表 where; (课程编号=10001) and (学生情况表.学号=选课成绩表.学号) 嵌套查询 在WHERE子句中包含一个形如SELECT-FROM-WHERE的查询块,此查询块称为嵌套查询或子查询,包含子查询的语句称为父查询或外部查询。嵌套查询可以将一系列简单查询构成复杂查询,增强查询能力。子查询的嵌套层次最多可达到255层,以层层嵌套的方式构造来查询充分体现了SQL“结构化”的特点。嵌套查询在执行时由里向外处理,即先执行子查询再执行父查询,父查询要用到子查询的结果。 1.? 返回一个值的子查询 当子查询的返回值只有一个时,可以使用比较运算符(=, , , =, =, !=)将父查询和子查询连接起来。 例:查询与“陈静”教师职称相同的教师姓名和职称。 SELECT 姓名,职称; FROM 教师; WHERE 职称=; (SELECT职称; FROM 教师; WHERE 姓名=’陈 静’) 2)使用IN 可以使用IN代替“=ANY”; 子句返回的是一个集合。 1、哪些城市至少有一个仓库的职工工资为1250 SELECT 城市 FROM 仓库 WHERE 仓库号; IN (SELECT 仓库号 FROM 职工 WHERE 工资=1250) 2、查询学号为“S1”学生没有选修的学生的学号、课程号和成绩。 SELECT 学号,课程号,成绩; FROM 选课; WHERE 课程号 NOT IN(select 课程号 from 选课 where 学号=“s1”) 注意:使用IN相当于集合运算符“ ∈ ” 2.?使用量词和谓词的查询 例1:ANY、ALL、SOME量词查询的格式: 表达式 比较运算符 [ANY | ALL | SOME] (子查询) A、检索职工的工资大于或等于 WH1 仓库中任何一名职工工资的仓库号 a、select distinct

文档评论(0)

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

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

1亿VIP精品文档

相关文档