Oracle_SQL99_连接查询

交叉连接 cross join  
--交叉连接 cross join
--作用:产生两个表的笛卡尔积
select * from emp cross join dept;

select * from emp cross join dept where emp.deptno = dept.deptno;  

自然连接 natural join  
--自然连接 natural join,类似于SQL92中的等值连接
--自然连接不允许在参照列上使用表名或者别名作为前缀
select * from emp natural join dept;
 
 
--using连接,用于指定进行等值连接的列名
--using中不允许使用表名或表的别名修饰
--join单独使用就是内连接的意思,可以省略inner

select * from emp inner join dept using(deptno); 
 

on 子句
--查询员工的姓名,职位,薪资,薪资等级
--on子句:用于指定连接条件
select e.ename, e.job, e.sal, s.grade from emp e 
join salgrade s

on e.sal between s.losal and s.hisal;

--查询员工的编号,姓名,部门名称,薪资等级
select e.empno, e.ename, d.dname, s.grade
from emp e 
join dept d on e.deptno = d.deptno
join salgrade s on e.sal between s.losal and s.hisal;
 
 
select e.empno, e.ename, d.dname, s.grade
from emp e 
natural join dept d
join salgrade s on e.sal between s.losal and s.hisal;
 
 
select e.empno, e.ename, d.dname, s.grade
from emp e 
join dept d using(deptno)

join salgrade s on e.sal between s.losal and s.hisal;    

自然连接
--自连接
--查询员工的编号,姓名,领导的编号,领导的姓名
select  e1.ename, e2.empno, e2.ename from emp e1
join emp e2

on e1.mgr = e2.empno(+);  

--SQL99外连接 outer join
--左外连接(left outer join)
--右外连接(right outer join)

--满外连接(full outer join)  

select * from emp;
select e1.empno, e1.ename, e1.mgr, e2.ename from emp e1
left outer join emp e2
on e1.mgr = e2.empno;--左外连接,显示左边表的全部行
 
 
select * from emp;
select e1.empno, e1.ename, e1.mgr, e2.ename from emp e1
right outer join emp e2
on e1.mgr = e2.empno;--右外连接,显示右边表的全部行
 
 
 
select * from emp;
select e1.empno, e1.ename, e1.mgr, e2.ename from emp e1
full outer join emp e2

on e1.mgr = e2.empno;--满外连接,显示两个表的全部行  

 
 
 
 

Oracle_SQL99_连接查询的更多相关文章

  1. MySQL8:连接查询

    连接查询 连接是关系型数据库模型的主要特点. 连接查询是关系型数据库中最主要的查询,主要包括内连接.外连接等通过联结运算符可以实现多个表查询. 在关系型数据库管理系统中,表建立时各种数据之间的关系不必 ...

  2. SQL多表连接查询(详细实例)

    转载博客:joeleo博客(http://www.xker.com/page/e2012/0708/117368.html) 本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:stud ...

  3. Mysql联合,连接查询

    一. 联合查询    UNION, INTERSECT, EXCEPT UNION运算符可以将两个或两个以上Select语句的查询结果集合合并成一个结果集合显示,即执行联合查询.UNION的语法格式为 ...

  4. Oracle学习笔记五 SQL命令(三):Group by、排序、连接查询、子查询、分页

    GROUP BY和HAVING子句 GROUP BY子句 用于将信息划分为更小的组每一组行返回针对该组的单个结果 --统计每个部门的人数: Select count(*) from emp group ...

  5. SQL多表连接查询

    SQL多表连接查询 本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:student  截图如下: 表2:course  截图如下: (此时这样建表只是为了演示连接SQL语句,当然实际 ...

  6. mysql的查询、子查询及连接查询

    >>>>>>>>>> 一.mysql查询的五种子句         where(条件查询).having(筛选).group by(分组). ...

  7. oracle(sql)基础篇系列(二)——多表连接查询、子查询、视图

        多表连接查询 内连接(inner join) 目的:将多张表中能通过链接谓词或者链接运算符连接起来的数据查询出来. 等值连接(join...on(...=...)) --选出雇员的名字和雇员所 ...

  8. Sql Server系列:多表连接查询

    连接查询是关系数据中最主要的查询,包括内连接.外连接等.通过连接运算符可以实现多个表查询.内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值.SQL Server中的内连接有 ...

  9. SubSonic3.0使用外连接查询时查询不出数据的问题修改

    今天在开发时,要使用到外连接查询,如图 老是查不出数据,所以就追踪了一下代码,发现查询后生成的SQL语句变成了内连接了,真是晕 然后继续Debug,发现原来SqlQuery类在调用LeftInnerJ ...

随机推荐

  1. 02.将SDK获取到的ECS主机信息入库

    1.通过调用阿里SDK,将获取到的ECS信息存入数据库,如果不知道SDK怎么使用,查看:01.阿里云SDK调用,获取ESC主机详细信息 2.import aliSDK应用的是01.阿里云SDK调用,获 ...

  2. java RTTI笔记 之Class学习笔记(摘自java编程思想)

    1.java 使用Class对象来执行其RTTI.java 中每个类在编译后都会对应产生一个Class对象(更恰当地说是被保存在一个同名的.class文件中),甚至void和基本类型也都对应一个cla ...

  3. Q:同时安装了python2和python3的电脑下pip的使用

    本人电脑设置的默认为python3.5的,由于需要,安装了pyhton2.7.之后需要为python2.7使用pip方式安装一个requests模块,但是,在命令行下执行pip install req ...

  4. 关于使用Log4Net将日志插入oracle数据库中

    1.关于配置文件. <?xml version="1.0" encoding="utf-8" ?> <configuration> &l ...

  5. Python学习_01_对象

    之前关于python的知识比较零散,这一个系列的随笔将python重新学习整理一遍.学习书籍<Python核心编程>第二版. Python对象基础 python并不是一个单纯面向对象的语言 ...

  6. java 泛型基础问题汇总

    泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法. Java语言引 ...

  7. 针对单个 js 文件禁用 ESLint 语法校验

    问题描述: 在 Vue-cli 创建的项目中,使用了 ESLint 规范代码的项目中 如何针对单个 js 文件禁用 ESLint 语法校验,但整个项目依然保留 ESLint 的校验规则? 解决方案: ...

  8. GpG使用指南

    1. 简介 1991年,程序员Phil Zimmermann为了避开政府监视,开发了加密软件PGP.这个软件非常好用,迅速流传开来,成了许多程序员的必备工具.但是,它是商业软件,不能自由使用.所以,自 ...

  9. SpringMVC @SessionAttributes注解

    @SessionAttributes 注解只能作用到类上 @SessionAttributes(value={"user"},types={String.class}) @Sess ...

  10. nmon进行性能分析

    在压测的时候,搭配nmon,可以很好的记录机器cpu情况,内存情况 下载 需要下载nmon和nmon analyser,到各自的官网下载. nmon可以根据自己的操作系统版本下载二进制文件,免去安装. ...