首先构建场景

相应表中数据如下:

 SELECT * FROM EMPLOYEE;

 SELECT * FROM DEPTINFO;

连接方式:

1、 ,

 SELECT E.EMPNAME, D.DEPNAME
FROM EMPLOYEE E, DEPTINFO D
WHERE E.DEPTID = D.DEPID
ORDER BY DEPNAME;

由此可见“,”连接是将两张表进行等值连接

2、join

 SELECT E.EMPNAME, D.DEPNAME
FROM EMPLOYEE E
JOIN DEPTINFO D
ON E.DEPTID = D.DEPID
ORDER BY DEPNAME;

3、inner join

 SELECT E.EMPNAME, D.DEPNAME
FROM EMPLOYEE E
INNER JOIN DEPTINFO D
ON E.DEPTID = D.DEPID
ORDER BY DEPNAME;

“,”,join,inner join都是等值连接,所谓等值连接是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组,如上的例子就是从EMPLOYEE和DEPTINFO两张表的公共数据项(DEPTID)相同的那些数据项

4、left join

 SELECT E.EMPNAME, D.DEPNAME
FROM EMPLOYEE E
LEFT JOIN DEPTINFO D
ON E.DEPTID = D.DEPID
ORDER BY DEPNAME;

LEFT JOIN是左连接,就是用左表EMPLOYEE去匹配右表DEPTINFO,当找不到相应的数据项的时候就置空。因此这种组合左表中的数据会全部显示,右表中的数据只显示与左表中可以匹配的.上面的查询语句可以理解为,查找每个员工的部门.

5、right join

 SELECT E.EMPNAME, D.DEPNAME
FROM EMPLOYEE E
RIGHT JOIN DEPTINFO D
ON E.DEPTID = D.DEPID
ORDER BY DEPNAME;

RIGHR JOIN是右连接,就是用右表DEPTINFO去匹配左表EMPLOYEE,当找不到相应的数据项的时候就置空。因此这种组合右表中的数据会全部显示,左表中的数据只显示与右表中可以匹配的.上面的查询语句可以理解为,查看所有部门的员工分布情况.

Oracle中的一连接语句的更多相关文章

  1. 对于Oracle中分页排序查询语句执行效率的比较分析

    转自:http://bbs.csdn.net/topics/370033478 对于Oracle中分页排序查询语句执行效率的比较分析 作者:lzgame 在工作中我们经常遇到需要在Oracle中进行分 ...

  2. Oracle中,利用sql语句中的函数实现保留两位小数和四舍五入保留两位小数

    Oracle中,利用sql语句中的函数实现保留两位小数和四舍五入保留两位小数: select trunc(1.23856789,2) from dual round(m,n) 可以四舍五入 trunc ...

  3. oracle中的内连接和外连接区别

    表t_user1,t_user2,t_user3,各有id,name两列 id name 1 10A 2 20A id name 1 10B 3 30B id name 1 10C 4 40C 连接分 ...

  4. Oracle中的一些查询语句及其执行顺序

    查询条件: 1)LIKE:模糊查询,需要借助两个通配符,%:表示0到多个字符:_:标识单个字符. 2)IN(list):用来取出符合列表范围中的数据. 3)NOT IN(list): 取出不符合此列表 ...

  5. Oracle中exists替代in语句

    大家都知道exists的速度要比in的速度快,也知道exists函数返回一个布尔值,也就是说exists函数里最后要是 a.id =b.id类似这种方式结束. 例如: SELECT * FROM TB ...

  6. 常用oracle中系统表查询语句

    sqlplus / as sysdbaSQL>select status from v$instance;1.查看最大连接数show parameter processes;2.查询oracle ...

  7. 检查Oracle 中死事务的语句

    SQL> SELECT KTUXEUSN, KTUXESLT, KTUXESQN, /* Transaction ID */ 2 KTUXESTA Status, KTUXECFL Flags ...

  8. ORACLE中查询语句的执行顺及where部分条件执行顺序测试

    Oracle中的一些查询语句及其执行顺序 原文地址:https://www.cnblogs.com/likeju/p/5039115.html 查询条件: 1)LIKE:模糊查询,需要借助两个通配符, ...

  9. Oracle中如何插入特殊字符:& 和 ' (多种解决方案)

    今天在导入一批数据到Oracle时,碰到了一个问题:Toad提示要给一个自定义变量AMP赋值,一开始我很纳闷,数据是一系列的Insert语句,怎么会有自定义变量呢?后来搜索了一下关键字AMP发现,原来 ...

随机推荐

  1. 20135320赵瀚青LINUX第八周学习笔记

    赵瀚青原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 概述 本周学习的是linux ...

  2. pyenv 让 python 版本完美切换

    前言 我觉得如果使用 python 开发的话,还是在 unix/linux 的环境下吧,shell 工具的效率比 windows 高得多,尽管 windows 下也有 cmder 这种神器,而且现在 ...

  3. Mininet实验 设置带宽之简单性能测试

    原文:设置带宽之简单性能测试 这个实验主要还是说明通过python程序来设定Mininet中的链路带宽. 目的: Python脚本实现自定义拓扑 设置链路的带宽.延迟及丢包率 iperf测试主机间的带 ...

  4. 图像添加logo水印函数

    <?php //图像添加水印函数 /** *为一张图片添加上一个logo水印(以保存新图片的方式实现) *@param string $picname 被缩放的处理图片源 *@param int ...

  5. DDMS

    DDMS 的全称是Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik虚拟机调试监控服务

  6. Java回顾之JDBC

    这篇文章里,我们来讨论一些和JDBC相关的话题. 概述 尽管在实际开发过程中,我们一般使用ORM框架来代替传统的JDBC,例如Hibernate或者iBatis,但JDBC是Java用来实现数据访问的 ...

  7. vue 脚手架(一,创建脚手架)

    本文以转移至本人的个人博客,请多多关注! 本文以转移至本人的个人博客,请多多关注! 本文以转移至本人的个人博客,请多多关注! 本文以转移至本人的个人博客,请多多关注! 经过一段时间对Vue的学习.觉得 ...

  8. Hadoop异常

    org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://xxx:49000/user/had ...

  9. 多目标跟踪方法 NOMT 学习与总结

    多目标跟踪方法 NOMT 学习与总结 ALFD NOMT MTT 读 'W. Choi, Near-Online Multi-target Tracking with Aggregated Local ...

  10. 移动前端兼容性笔记 - 安卓2.x 自带原生浏览器箭头问题

    这样的箭头用CSS-3实现,整段代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta c ...