第3章SQL语言基础3.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 SQL语言基础(3) 3.1 SQL简介 3.2 SQL语言的基本元素 3.3 SQL语言中的运算符 3.4 常用的SQL*Plus命令 3.5 SQL语言中的函数 3.6 关系表的DDL语句 3.7 关系表的DML语句 3.8 SQL的数据查询 3.9 视图 3.8 SQL的数据查询 SELECT语句是数据库应用中最常用的语句,也是SQL标准中最灵活和应用最广泛的语句之一。 SELECT语句是一个查询表达式,它以关键字SELECT开头,并且包括大量构成该表达式的元素。 SELECT语句可以从数据库中按用户的要求查询行,而且允许从一个表或多个表中选择满足给定条件的一个或多个行或列,并将数据以用户规定的格式进行整理后返回给客户端。 SELECT语句的完整格式比较复杂,其主要子句格式如下: SELECT [ALL| DISTINCT] {* | 目标列表达式列表} FROM 表名或视图名[,表名或视图名…] [WHERE 条件表达式] [GROUP BY 列名] [HAVING 条件表达式] [ORDER BY 列名 [ASC| DESC]] SELECT子句:用来指定由查询返回的列。 FROM子句: 用来指定从中查询行的源表。 WHERE子句:用来指定限定返回的行的搜索条件。 GROUP 子句:用来指定查询结果的分组条件。 HAVING 子句:用来指定组成聚合的搜索条件。 ORDER 子句:用来指定结果集的排序方式。 在上述SELECT语句中,FROM、WHERE、GROUP BY和HAVING子句被称为表表达式。当处理SELECT语句时,这一部分总是首先被评估。表表达式中的每个子句按照次序被依次评估,评估的结果是一个虚拟表,用于以后的评估。也就是说,前一个子句的评估结果将用于下一个子句,直到表表达式的每一个子句都被评估完为止。 例如,在SELECT语句中首先要评估的子句是FROM子句,如果指定了WHERE子句,那么FROM子句的评估结果将用于WHERE子句。 各子句的评估次序如下: ①FROM ②WHERE (可选) ③GROUP BY (可选) ④HAVING (可选) ⑤SELECT ⑥ORDER BY (可选) 当创建比较复杂的SELECT语句时,尤其是在处理连接和子查询时,对评估的次序有一个基本的了解显得尤为重要。 3.8.1 基本查询 最基本的查询就是从指定的表中找出符合条件的记录。 SELECT * FROM student WHERE sex=男 AND dno=d01; 3.8.2 SELECT子句 在SELECT子句中,主要是通过指定列名确定表的哪些列值出现在结果集中,这相当于关系代数的投影操作。 ①SELECT子句后是以逗号分隔的各查询输出项。 SELECT sno, sname, dno FROM student WHERE sex=男; ②用户可以另外指定列标题(别名)。 SELECT 输出项1 [AS] 列标题, … SELECT sno 学号, sname AS name FROM student WHERE sex=男; 当别名没有被双引号括起来时,别名的显示结果为大写。如果别名中包含了特殊字符,或想让别名以原样显示,就要使用双引号把别名括起来。 ③SELECT的输出项为表达式,可以是列名、常量、函数、运算符等。 SELECT ename|| 年薪为:|| sal*12 员工的年薪, 元 单位 FROM emp; 3.8.3 WHERE子句 WHERE后的条件表达式中参与运算的值可以是常量、函数及FROM子句所声明的表中的列名。字符串及日期用单引号括起来,字符串是区分大小写的。 ⑴ 日期型数据的比较,越早的日期越小。 查1980年以前出生的学生。 SELECT * FROM student WHERE birtday1-1月-1980; ⑵ 集合运算符 SELECT dname, tel FROM dep WHERE dname IN(计算机系, 数学系) ; 或 WHERE dname=ANY(计算机系, 数学系) ; ⑶ 空值的处理 SELECT cno FROM sc WHERE sno=9801 AND grade IS NULL; (34)查询有选课记录,但没有考试成绩的学生的学号和课程号,正确的SQL语句是 A)SELECT 学号,课程号 FROM sc WHERE 成绩= B)SELECT 学号,课程号 FROM sc WHERE 成绩=NULL C)SELECT 学号,课程号 FROM sc WHERE 成绩 IS NULL D)SELECT 学号,课程号 FR

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档