- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 高级查询-2.ppt
第六章 高级查询 重点内容:连接查询和子查询。 课时:4-6课时 第六章 高级查询 6.1 基本连接 6.2 使用JOIN连接 6.3 集合操作 6.4 子查询 6.5 事务控制 6.1 基本连接 用于从多个表或者视图中查询信息。 无条件连接 条件连接 使用表别名 1、无条件连接 是多个表之间的无条件连接。 eg:SQL select ename,sal,dname from emp,dept; 注意:仅作连接,不考虑逻辑关系。 2、条件连接 使用where子句限定连接。 语法格式: SELECT column, column FROM table1,table2 WHERE table1.column1 = table2.column2; 3、使用表别名 使用表别名使sql语句简化。 6.2 使用JOIN连接查询 内连接:根据指定的条件进行连接,满足条件则写入结果集。 包括:等值连接、不等值连接和自身连接 外连接:指在内连接的基础上,将某个不符合连接条件的记录加入到结果集中。 包括:左外连接、右外连接和全外连接 交叉连接:生成所有的可能组合。 1、内连接 根据指定的连接条件进行连接查询。 (1)等值连接:使用等号 “=” 指定连接条件,进行比较的列的类型必须一致。 查询结果列出所有的列,包括重复的值。 不相等连接:采用除等号以外的其他关系运算符进行条件判断。 自身连接 :对同一个表进行连接。 2、外连接 指在内连接的基础上,将某个不符合连接条件的记录加入到结果集中。 左外连接:将连接操作符左侧表中不符合条件的记录加入到结果集中,对应的右侧表用NULL填充。 右外连接和全连接。 左外连接示例 eg:下列语句的执行结果包括什么信息? SQL select ename,sal,dname,t1.deptno from dept t1 left join emp t2 on t1.deptno=t2.deptno and t2.deptno=10; 右外连接示例 右外连接语法格式: SELECT table1.column, table2.column FROM table1 RIGHT JOIN table2 ON table1.column1 = table2.column2; eg: SQL select ename,sal,dname,dept.deptno from dept right join emp on dept.deptno=emp.deptno and dept.deptno=10; 全外连接语法格式: SELECT table1.column, table2.column FROM table1 FULL JOIN table2 ON table1.column1 = table2.column2; eg: select ename,sal,dname,dept.deptno from dept full join emp on dept.deptno=emp.deptno and dept.deptno=10; eg1、查询所有工作为“CLERK”的员工名及其部门名称。 select dname,ename from dept a,emp b where a.deptno=b.deptno and job=CLERK; eg2、查询所有81年7月1日以前来的员工姓名、工资、所属部门的名字。 select ename,sal,dname from emp,dept where emp.deptno=dept.deptno and hiredate=to_date(’1981-07-01’,’yyyy-mm-dd’); eg3、查询所有部门名称和这些部门的员工信息,同时列出那些没有员工的部门。 select dname,ename from dept left join emp on dept.deptno=emp.deptno; 6.3 集合操作 集合操作将多个SQL查询结果结合成更复杂的查询。 (1)UNION:获取查询结果的并集,将重复的记录只保留一个,默认按照第一列进行排序。 (2)INTERSECT:用于获取查询结果的交集。默认按照第一列进行排序。 (3)MINUS:用于获取查询结果的差集。默认按照第一列进行排序。 6.3 集合操作 语法格式为: SELECT query_statement1 [UNION|UNION ALL|INTERSECT|MINUS] SELECT query_statement2; 注意: 当要合并几个查询的结
文档评论(0)