`
lichangwei
  • 浏览: 74896 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Left Join & Right Join & Full Join & Join

阅读更多
Foreword: TBL_BPM_HK_PINS save house keep process instances(contains all outdated pins and uptodate pins), TBL_BPM_PMAP save process maps. Maybe the process map has been deleted, so if want to provider a page to manage these pins, cannot use the common join, or there will be some pins cannot be searched.
Use left join instead.
select m.PMAP_ID, m.PMAP_NAME, m.PMAP_VERSION, i.PINS_ID, i.PINS_STATUS, i.CREATED_BY, i.CREATED_DT, i.UPDATED_DT
from TBL_BPM_PMAP m right join TBL_BPM_HK_PINS i on i.PMAP_ID = m.PMAP_ID
where i.PINS_STATUS like '%status%'
      and m.PMAP_NAME like '%process_map_name%'


The difference of several join mode.
Example:
Table1, City(cityId,cityName)
Table2, Company(companyId,companyName,cityId)
1. Left (Out) Join
returns ALL CITIES no matter whether existing a company in this city.
SELECT ct.cityId, ct.cityName, cp.companyName
FROM City ct LEFT JOIN Company cp ON ct.cityId = cp.cityId

2. Right (Out)Join
returns ALL COMPANIES no matter whether this company located where.
SELECT cp.companyId, cp.companyName, ct.cityName
FROM City ct RIGHT JOIN Company cp ON ct.cityId = cp.cityId

3. Full (Out) Join
returns ALL CITY'names and COMPANY'names.
SELECT ct.cityName, cp.companyName
FROM City ct FULL JOIN Company cp ON ct.cityId = cp.cityId

Note: Mysql dosen't support full join operation. Use below instead.
SELECT ct.cityName, cp.companyName
FROM City ct LEFT JOIN Company cp ON ct.cityId = cp.cityId
union
SELECT  ct.cityName, cp.companyName
FROM City ct RIGHT JOIN Company cp ON ct.cityId = cp.cityId

4. (Inner) Join
return the city'name and the company'name if the company loacted on this city.
SELECT ct.cityName, cp.companyName
FROM City ct JOIN Company cp ON ct.cityId = cp.cityId
分享到:
评论

相关推荐

    inner join、 left join 、right join、 outer join之间的区别

    根据连接的方式不同,可以分为几种类型:`INNER JOIN`、`LEFT JOIN`、`RIGHT JOIN`以及`FULL OUTER JOIN`。下面将详细解释这些连接方式的区别。 #### INNER JOIN (内连接) `INNER JOIN`是最常用的一种连接方式,它...

    Linq to datable(Left join right join full join)实例

    Dim fullJoin = leftJoin.Union(rightJoin) ``` 在压缩包中的"WindowsApplication2"可能是VB2010项目文件,包含了具体的代码实现。通过查看和运行这个项目,你可以深入理解如何在实际应用中使用LINQ to ...

    Mysql之innerjoin,leftjoin,rightjoin详解.pdf

    Mysql 之 inner join、left join、right join 详解 Mysql 中的连接查询是指从多个表中检索数据,并将它们组合成一个结果集。inner join、left join 和 right join 是 Mysql 中三种最常用的连接查询方式。 inner ...

    SQL语句inner join,left join ,right join连接的不同之处

    根据连接方式的不同,可以分为多种类型,包括内连接(Inner Join)、左连接(Left Join)以及右连接(Right Join)。本文将详细探讨这三种连接方式的区别,并通过具体的例子来解释它们的应用场景。 ### 内连接...

    SQL中的left outer join,inner join,right outer join用法详解

    * FULL OUTER JOIN:LEFT OUTER 和 RIGHT OUTER 中所有行的超集。 内连接(Inner Join) 内连接是最常见的一种连接,它也被称为普通连接,而 E.FCodd 最早称之为自然连接。例如: SELECT * FROM t_institution i ...

    关于sql的left join,right join,inner join,outerjoin

    本篇文章将深入探讨四种基本的JOIN类型:LEFT JOIN(左连接)、RIGHT JOIN(右连接)、INNER JOIN(内连接)以及OUTER JOIN(外连接)。我们将详细解释这些概念,它们的工作原理以及在实际数据库操作中的应用。 1. ...

    SQL表连接查询(inner join、full join、left join、right join)1

    在SQL中,主要有四种类型的连接查询:内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL JOIN)。下面将详细解释这四种连接方式。 1. 内连接(INNER JOIN): 内连接返回两个表中...

    left join 过滤条件写在on后面和写在where 后面的区别

    - **RIGHT JOIN (或 RIGHT OUTER JOIN)**:除了返回两个表中匹配的行外,还会返回右表中不匹配的所有行,并将左表的列设置为NULL。 - **FULL OUTER JOIN**:返回两个表中所有匹配和不匹配的行。 #### 示例表结构 ...

    join on 语句及扩展

    3. RIGHT JOIN (或 RIGHT OUTER JOIN): 右JOIN与LEFT JOIN相反,返回右表的所有记录,即使左表中没有匹配的记录。左表中未找到匹配项的记录将用NULL填充。语法: ```sql SELECT columns FROM table1 RIGHT JOIN ...

    MySQL JOIN 语法说明与 INNER JOIN 语法用法实例.docx

    本文档详细介绍了 MySQL 中的 JOIN 语法,包括 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN 等,并提供了实际的实例来说明 JOIN 的用法。 首先,MySQL 的 JOIN 语法用于根据两个或多个表中的字段之间的关系,从...

    sql join( inner join, outer join) 分析

    接下来,我们讨论OUTER JOIN,它分为LEFT JOIN、RIGHT JOIN和FULL JOIN。OUTER JOIN的目的是返回所有匹配的行以及至少一方表中的非匹配行。 - LEFT JOIN(或LEFT OUTER JOIN)返回左表中的所有行,即使右表中没有...

    oracle-join用法

    在Oracle SQL中,Join主要分为几个类型,包括INNER JOIN、LEFT JOIN (LEFT OUTER JOIN)、RIGHT JOIN (RIGHT OUTER JOIN)以及FULL JOIN (FULL OUTER JOIN)。这些类型在Java编程中同样可以使用,通过SQL查询语句来实现...

    mysql Join使用以及优化

    基本的Join类型包括INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN等。 INNER JOIN仅返回两个表中匹配的记录,而LEFT JOIN、RIGHT JOIN和FULL JOIN分别返回左表、右表以及两个表中所有的记录,即使某些记录在另一表...

    sql中join总结

    3. **左外JOIN (LEFT OUTER JOIN)**: 左外JOIN返回所有左侧表格(在这个例子中是`A_test`)的记录,即使右侧表格(`B_test`)没有匹配的记录。对于右侧表格中没有匹配的记录,所有字段都会填充为NULL。在示例中,`3...

    SQL _join on 和where的执行顺序1

    JOIN操作主要有四种类型:LEFT JOIN、RIGHT JOIN、INNER JOIN和FULL JOIN,每种都有其特定的用途。 1. LEFT JOIN(左连接): LEFT JOIN返回左表(即在JOIN语句前的表)的所有记录,即使在右表中没有匹配的记录。...

    sql left join 命令详解

    此外,LEFT JOIN还可以与其他类型的JOIN结合使用,如FULL OUTER JOIN(全外联接),它会返回左右两边表的所有行,无论是否有匹配的记录。在某些情况下,这可能是收集完整数据集的必要手段。 总结一下,LEFT JOIN是...

    表连接 SQL JOIN 速查表

    这里我们将深入探讨几种主要的JOIN类型,包括自然JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN以及CROSS JOIN。 1. **自然JOIN (NATURAL JOIN)**: 自然JOIN是根据两个表中存在的相同列名来匹配并合并数据。在结果集中...

Global site tag (gtag.js) - Google Analytics