首页
解决方案
技术服务
专业数据库维保服务 大数据维保服务
一体机
Oracle数据库一体机 PolarDB数据库一体机 瀚高数据库一体机 崖山数据库一体机 海扬数据库一体机 高斯数据库一体机 金仓数据库一体机
产品
CLup乘数云统一平台 CData高性能数据库云一体机 CPDA高性能双子星数据库机 CBackup数据库备份恢复云平台 CMiner: PostgreSQL中的CDC CSYun超融合虚拟机产品 ZQPool数据库连接池 ConshGuard数据保护产品 APCC: Greenplum管理平台
文档
文章
客户及伙伴
中启开源
关于我们
登录
×
修改密码

inner join(内连接)

  1. 内连接:表A和表B以元组为单位做一个笛卡尔积,记为表C
  2. 然后在C中挑选出满足符合on 语句后边的限制条件的内容。
  3. explain select * from t1 inner join t2 on (t1.id=t2.id)
  4. 也有存在多表join的情况
  5. select * from t1 join t2 using(stu_id) join t3 using(course_id);
  6. 通常情况下会先join前面的,单不同的解释器可能存在偏差,需要测试
  7. inner 可以省略

left join(左连接)

  1. 左外连接:在内连接的基础上,将A中有但C中没有的元组也加上。
  2. 由于C的列数比A的行数多,所以这新增的元组左边照搬A,右边为null
  3. explain select * from t1 left join t2 on (t1.id=t2.id) where t2.* is null

right join(右连接)

  1. 右外连接:在内连接的基础上,将B中有但C中没有的元组也加上。
  2. 由于C的列数比B的行数多,所以这新增的元组右边照搬B,左边为null
  3. explain select * from t1 right join t2 on (t1.id=t2.id) where t1.* is null

full join(全连接)

  1. 全外连接:相当于在内连接的基础上同时做左连接和右连接,
  2. A和表B中的都要,两边不满足条件的都为null
  3. explain select * from t1 full join t2 on (t1.id=t2.id)