1、概述

1.1、所有的join连接,都可以加上类似where a.id='1000'的条件,达到同样的效果。

1.2、除了cross join不可以加on外,其它join连接都必须加上on关键字,后都可加where条件。

1.3、虽然都可以加where条件,但是他们只在标准连接的结果集上查找where条件。比如左外连接的结果没有class的三班,所以如果加 where class.id='C003'虽然在表中有,但在左连接结果集中没有,所以查询后,是没有记录的。

2、实例,标准的join连接,(不加where条件的)

2.1、设有表如下:

学生表

班级表,对应学生表中的classid

2.2、自连接:join ,inner join

1--自连接  :只返回两张表连接列的匹配项。2--以下三种查询结果一样。3select*from student s innerjoin class c on s.classid=c.id;

4select*from student s join class c on s.classid=c.id;

5select*from student s,class c where s.classid=c.id;

自连接结果:

2.3、笛卡儿乘积:cross join

1--笛卡儿乘积连接 :即不加任何条件,达到 M*N 的结果集。2--以下两种查询结果一样。3select*from student s crossjoin class c;

4select*from student,class;

笛卡尔结果:

注意:如果cross join加上where s.classid=c.id条件,会产生跟自连接一样的结果:

1--加上条件,产生跟自连接一样的结果。2select*from student s crossjoin class c where s.classid=c.id;

自连接结果集的cross join连接结果

2.3、左外连接:left join

1--左连接 :列出左边表全部的,及右边表符合条件的,不符合条件的以空值代替。2--在(+)计算时,哪个带(+)哪个需要条件符合的,另一个全部的。即放左即右连接,放右即左连接。3--以下结果集相同。4select*from student s leftjoin class c on s.classid=c.id;

5select*from student s,class c where s.classid=c.id(+);

左连接结果:

2.4、右外连接:right join

1--右外连接 :与左连接一样,列出右边表全部的,及左边表符合条件的,不符合条件2--的用 空值  替代。3--(+)一样,它的位置与连接相反。4select*from student s rightjoin class c on s.classid=c.id;

5select*from student s,class c where s.classid(+)=c.id;

右连接结果

2.5、全连接:full join

1--全连接 :产生M+N的结果集,列出两表全部的,不符合条件的,以空值代替。2select*from student s fulljoin class c on s.classid=c.id;

全连接结果集

join实例 oracle_oracle中join联合查询相关推荐

  1. python list join函数_Python中join()函数多种操作代码实例

    这篇文章主要介绍了Python中join()函数多种操作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python中有.join()和os ...

  2. MySQL表中的联合查询

    上一篇有关聚合查询的博客: MySQL表中的聚合查询_徐憨憨!的博客-CSDN博客主要是针对单个表进行查询操作,但是实际的开发环境中,数据往往来自己于不同的数据表,此时就需要使用联合查询进行操作! 联 ...

  3. mysql全联合查询,MySQL中的联合查询(内联、左联、外联、右联、全联)

    联合查询效率较高,举例子来说明联合查询:内联inner join .左联left outer join .右联right outer join .全联full outer join 的好处及用法. T ...

  4. python里的join方法_python中join()方法介绍

    描述 Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串. 语法 join()方法语法: str . join ( sequence ) 参数 sequence -- ...

  5. mysql中的联合查询(内联、左联、外联、右联、全联)

    联合查询效率较高,举例子来说明联合查询:内联inner join .左联left outer join .右联right outer join .全联full outer join 的好处及用法. 联 ...

  6. python3 join函数_Python中.join()和os.path.join()两个函数的用法详解

    Python中有.join()和os.path.join()两个函数,具体作用如下: . join(): 连接字符串数组.将字符串.元组.列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 '' ...

  7. oracle内连接使用,Oracle中的联合查询-自然连接/外连接/内连接

    自然连接 select * from r1 natural [inner] join r2 natural [inner] join r3 where P; select A1,A2 from r1 ...

  8. MySQL中的联合查询

    联合查询 联合查询:union,将多次查询(多条select语句)的结果,在字段数相同的情况下,在记录的层次上进行拼接. 联合查询由多条select语句构成,每条select语句获取的字段数相同,但与 ...

  9. join实例 oracle_Oracle里面的JOIN连接,加号(+)的使用和例子

    假设有 a表 id 1 2 3 4 b表 id 1 2 3 希望出来结果 a.id b.id 1 1 2 2 3 3 4 用left join 的 SQL code selecta.id,b.id f ...

最新文章

  1. 敏捷冲刺每日报告——Day5
  2. HashSet中实现不插入重复的元素
  3. AcWing 101. 最高的牛
  4. Vlan9.com论坛 2007-10-30精华技术文档
  5. 2.5配置自定义HttpMessageConverters
  6. Winform 中tabcontrol 美化
  7. ajax怎么在服务器返回值,node.js+Ajax实现获取HTTP服务器返回数据?
  8. java代码走查_java代码开发完成后,代码走查规范
  9. 原文是:机器人工程师学习计划
  10. csv excel 对比
  11. DataStore详解
  12. php screw.so,php screw加密
  13. django读取mysql事实数据_Django读取Mysql数据并显示在前端的实例
  14. 2021.4.14 html学习第二天
  15. Echarts绘制Tree树图的涟漪效果effectScatter
  16. gtest 中Setup TearDown SetUpTestCase和TearDownTestCase 的区别
  17. No.04 色散补偿 O-FDE算法 交叠频域均衡算法 MATLAB Python 代码实现
  18. 数据库作业 1:绘制crow‘s foot图
  19. mysql时间戳转换日期
  20. 玩转支付宝、微信零钱通、银行活期

热门文章

  1. 计算机英语讲课笔记(2020-6-23)
  2. 【HDU5299】Circles Game,圆的扫描线+树上删边游戏
  3. 【Level 08】U08 Positive Attitude L2 Into the world of a bookworm
  4. 【英语学习】【科学】【Glencoe Science】【D】Human Body Systems 目录及术语表
  5. 【英语学习】【WOTD】yen 释义/词源/示例
  6. Intel Core Enhanced Core架构/微架构/流水线 (7) - 栈指针跟踪器/微熔合
  7. Java作业基础知识梳理--2020-12-03
  8. python底层源码_大师兄的Python机器学习笔记:统计学基础之底层代码实现(一)...
  9. 《算法之道》精华 难解问题部分
  10. 变速更顺滑_CVT变速箱中的小弱鸡?10万公里必坏?变速箱该如何养护?