Oracle中连接与加号的使用
来源:互联网 发布:淘宝退货优惠券退吗 编辑:程序博客网 时间:2024/04/28 00:34
left join是以左表的记录为基础的,左表的记录将会全部表示出来,而右表只会显示符合搜索条件的记录。右表记录不足的地方均为NULL.
用(+)来实现, 这个+号可以这样来理解: + 表示补充,即哪个表有加号,这个表就是匹配表。所以加号写在右表,左表就是全部显示,故是左连接。
例子:select a.*,b.bname from student_drb a, class_drb b where a.bno=b.bno(+) -------------- 左连接,注意: 用(+) 就要用关键字where
2、右外连接(right outer join/ right join)
和left join的结果刚好相反,是以右表为基础的, 显示右表的所有记录,在加上左表和右表匹配的结果。 左表不足的地方用NULL填充.
用(+)来实现, 这个+号可以这样来理解: + 表示补充,即哪个表有加号,这个表就是匹配表。所以加号写在左表,右表就是全部显示,故是右连接。
例子:select a.*,b.bname from student_drb a, class_drb b where a.bno(+)=b.bno ---------------- 右连接,注意: 用(+) 就要用关键字where
3、全连接(full join)
左表和右表都不做限制,所有的记录都显示,两表不足的地方用null 填充。 全外连接不支持(+)这种写法。
4、等值查询
例子:select a.*,b.bname from student_drb a, class_drb b where a.bno=b.bno
查询出的结果是左表和右表中bno字段相等的显示出来。也即出来的结果肯定比左、右、全连接的结果要少或相等。
5、内联接查询 inner join on (与等值查询结果是一样的),但效率要比等值查询高,因为等值查询是先笛卡尔积,再根据条件查找。
6、交叉查询cross join (如果需要条件则用where而不用on)
交叉查询是用的笛卡尔积,效率较慢select * from student_drb cross join class_drb
等价于select * from student_drb,class_drb
- Oracle中连接与加号的使用
- ORACLE 数据库 表连接 使用加号(+)
- java中加号为连接字符与运算符的区别
- SQL连接,Oracle关联加号(+)
- CSS 中加号选择器的使用
- oracle左右连接的另外表示方法-括号加号
- oracle左右连接的另一种显示方法—括号加号
- Python中尽量少用加号“+”连接字符串的原因
- shell中冒号结合等号, 加号, 减号的使用小结
- 在Java中连接字符串时是使用+号还是使用StringBuilder StringBuffer 加号
- 在Java中连接字符串时是使用+号还是使用StringBuilder StringBuffer 加号
- URL 中“+”加号的问题
- Oracle中连接与会话的区别
- Oracle中连接与会话的区别
- Oracle中连接与会话的区别
- Oracle中连接与会话的区别
- sql server left join 变量或常量,与oracle 加号+类似的
- SQL连接,Oracle关联加号(+)等相关知识
- python
- iOS 动画的实现
- C 源程序到可执行文件的过程
- BaseFragment
- 收藏的软件测试学习资源
- Oracle中连接与加号的使用
- 静态库与动态库的定义,区别和制作
- 敏捷团队转型之差距分析
- 配置jdk
- 11、获取元素的方式
- 史上最全微信运营工具
- 为何温故而知新
- AOP编程
- poj2299 树状数组+离散化