- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第04讲SQL语句基础
第04讲 SQL语句基础 本章学习要点 Oracle 示例中的用户模式 使用SELECT语句检索数据 检索多个表中的数据 Oracle中各种函数的使用 分组查询 插入、更新和删除数据 控制Oracle中的事务处理 4.1用户模式 SCOTT模式 HR模式 4.2 SELECT语句的用法 4.2.1检索单表数据 举例: 以SCOTT/TIGER身份连接到数据库 检索EMP表中的所有数据 select * from emp 检索列EMPNO、ENAME、JOB、SAL、DEPTNO select empno,ename,job,sal,deptNo from emp 为列指定别名 select empno as 员工编号,ename 员工姓名,job,sal,deptNo from emp 使用DUAL表 select sysdate from emp --dual; 4.2.2 过滤数据 在SELECT语句中可以使用WHERE子句过滤数据 比较操作符 =、、、=、=、!=、 、any(任一)、all(全部) SQL操作符 between…and… not between…and… in not in like not like is null is not null 逻辑运算符 and or not 4.2.3 排序数据 ORDER BY 将查询到的结果集按照某个指定的顺序排列显示出来。可以按照多个字段进行排序。默认为升序排列,如果需要降序排列则需在按照降序排列的字段名后加上DESC关键字。 语法: Select column_list From table_name Where condition Order by order_expression [ASC|DESC], order_expression [ASC|DESC], …… 4.2.4 多表检索 ⑴表的别名——是在select语句中为表定义的临时性名称,以简化对表的应用。 ⑵多表查询的连接类型 多表查询的连接类型可分为三种:内连接、外连接和交叉连接。 内链接(INNER JOIN) --使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与连接条件相匹配的数据行。根据所使用的比较方式不同,内连接又分为等值连接、自然连接和不等连接三种。 ①等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。????? ②不等连接: 在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括、=、=、、!、!和。 ③自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。 即在select 后面指定要查找的列,而不是笼统地使用*。 外连接分为左外连接(LEFT OUTER JOIN或LEFT JOIN)、右外连接(RIGHT OUTER JOIN或RIGHT JOIN)和全外连接(FULL OUTER JOIN或FULL JOIN)三种。与内连接不同的是,外连接不只列出与连接条件相匹配的行,而是列出左表(左外连接时)、右表(右外连接时)或两个表(全外连接时)中所有符合搜索条件的数据行。 左外连接left join 或者 left outer join :左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。 右外连接right join 或 right outer join :右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。 全外连接full join 或者 full outer join :完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。 交叉连接(完全连接)cross join 不带 where 条件 没有 WHERE 子句的交叉联接将产生联接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。 4.2.5 子查询 概念: 在一个select语句被嵌套在另外一个select、update或delete等SQL语句中时,被嵌套的select语句所执行的就是子查询。 子查询主要包括4种类型: 单行子查询和多行子查询、多列子查询以及关联子查询。 单行子查询:子查询语句只返回单行单列的结构
文档评论(0)