`

left join理解

 
阅读更多

create table lily1 (idx number(12), unamex varchar2(100));

create table lily2 (idy number(12), unamey varchar2(100));

create table lily3 (idz number(12), unamez varchar2(100));

 

insert into lily1 values ( 1, 'flower1');

insert into lily1 values ( 2, 'flower2');

insert into lily1 values ( 3, 'flower3');

 

insert into lily2 values ( 1, 'flowertype1');

insert into lily2 values ( 2, 'flowertype2');

 

insert into lily3 values ( 1, 'flowercolor1');

insert into lily3 values ( 2, 'flowercolor2');

insert into lily3 values ( 3, 'flowercolor3');

 

--SQL1 left join就像是from, 只不过隐含了left join的意思

select * from lily1 a 

left join lily2 b  on a.idx=b.idy

left join lily3 c  on b.idy=c.idz

where a.idx=1

 

--SQL1的运行结果

IDXUNAMEXIDYUNAMEYIDZUNAMEZ

1flower11flowertype11flowercolor1

 

 

SELECT * FROM lily1 A LEFT JOIN lily2 B ON A.idx=B.idy WHERE B.idy=2; --对外连结果加条件

SELECT * FROM lily1 A LEFT JOIN lily2 B ON A.idx=B.idy AND B.idy=2;   --B表添加过滤条件为与A外连

 

 

 

drop table lily1;

drop table lily2;

drop table lily3;

分享到:
评论

相关推荐

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

    ### inner join、left join、right join、outer join之间的区别 在数据库操作中,连接(Join)是一种非常重要的操作,用于组合两个或多个表中的数据。根据连接的方式不同,可以分为几种类型:`INNER JOIN`、`LEFT ...

    SQL语句left join/right join/inner join 的用法比较

    本篇文章将深入探讨LEFT JOIN、RIGHT JOIN以及INNER JOIN的用法,并通过实例进行对比,帮助理解它们之间的差异。 1. LEFT JOIN(左连接) LEFT JOIN返回所有左表(在本例中为A表)的记录,即使在右表(B表)中没有...

    Left join优化规则的研究

    对于应用开发人员而言,理解 Left Join 的优化规则能够提高查询效率,尤其是在某些数据库系统不支持自动转化 Left Join 为更高效操作的情况下。内核开发人员则需要考虑如何在数据库层面优化 Left Join,以减轻开发...

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

    Dim leftJoin = (From l In leftTable _ Join r In rightTable On l.Key Equals r.Key Into gj = Group _ From r In gj.DefaultIfEmpty() Select New With {l.Key, l.Value, r.Key, r.Value}) Dim rightJoin = ...

    sql的left join和count应用

    首先,我们需要理解 `LEFT JOIN` 的工作原理。`LEFT JOIN` 是一种联接(JOIN)类型,它返回所有左表(在本例中是 `TPL` 表)的记录,即使在右表(同样也是 `TPL` 表)中没有匹配的记录。如果在右表中没有找到匹配,...

    from 多张表 等于 left join 其他表.

    标题与描述中的“from多张表等于left join其他表”主要涉及的是SQL查询语句中两种不同的连接方式:内连接(通常在FROM子句后直接使用WHERE子句实现)和左连接(LEFT JOIN)。这两种连接方式在处理多表查询时有着不同...

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

    ### left join 过滤条件写在on后面和写在where 后面的区别 在SQL查询语句中,连接(JOIN)是一种非常重要的操作,用于从两个或多个表中获取数据。其中,`LEFT JOIN`是一种常用的连接类型,它返回左表的所有记录以及...

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

    总之,LEFT JOIN、RIGHT JOIN、INNER JOIN和OUTER JOIN是SQL语言中的核心部分,理解和熟练运用它们对于任何数据库开发人员都至关重要。通过不断的实践和学习,你可以更好地掌握这些JOIN类型,并在解决复杂数据查询...

    (Left join , Right Join, Inner Join)用法详解

    本文将详细介绍三种常见的连接类型:Left Join、Right Join 和 Inner Join,并通过具体的例子来帮助大家理解这些连接的具体应用。 #### 二、Left Join Left Join(也称为 Left Outer Join)是从左表(即第一个被...

    深入理解mysql之left join 使用详解

    关于 “A LEFT JOIN B ON 条件表达式” 的一点提醒 ON 条件(“A LEFT JOIN B ON 条件表达式”中的ON)用来决定如何从 B 表中检索数据行。 如果 B 表中没有任何一行数据匹配 ON 的条件,将会额外生成一行所有列为 ...

    SQL语句优化之JOIN和LEFT JOIN 和 RIGHT JOIN语句的优化

    SQL语句优化对于大型数据库系统至关重要,特别是在涉及多表查询时,JOIN、LEFT JOIN 和 RIGHT JOIN 的高效运用能显著提升查询速度。以下将详细探讨这些JOIN类型以及相关的优化策略。 JOIN原理: JOIN操作实际上是...

    Hive查询sql left join exists

    总的来说,理解和熟练运用LEFT JOIN、LEFT SEMI JOIN以及EXISTS子句是Hive SQL查询中的关键技能,它们在大数据分析中扮演着重要角色,帮助用户从海量数据中提取有价值的信息。根据实际需求选择合适的连接类型,能够...

    mysql多个left join连接查询用法分析

    MySQL中的LEFT JOIN是一种关联多个表的方法,用于...正确理解和应用LEFT JOIN,可以帮助我们编写出高效、准确的SQL查询,满足业务需求。但在实际使用中,要时刻关注性能,通过优化查询结构和使用索引来提升查询效率。

    SQL中的left join right join

    在设计查询时,理解这些JOIN类型的差异对于构建准确、全面的数据分析至关重要。同时,需要注意的是,JOIN操作会显著影响查询性能,因此在处理大量数据时,应谨慎选择JOIN类型,并优化ON条件以提高效率。

    ThinkPHP采用原生query实现关联查询left join实例

    在本实例中,我们将深入探讨如何使用ThinkPHP的原生`query`方法实现左连接(LEFT JOIN)的关联查询。 首先,我们要理解什么是左连接。在SQL中,左连接是一种连接两个表的方式,返回左表的所有记录,即使右表中没有...

    sql left join 命令详解

    SQL中的LEFT JOIN(或LEFT OUTER JOIN)是一种联接操作,用于合并两个或多个表的数据,同时保留左表(也就是在LEFT JOIN...正确理解和运用LEFT JOIN能够帮助你更有效地从数据库中提取所需信息,满足复杂的查询需求。

    MySQL在右表数据不唯一的情况下使用left join的方法

    MySQL中的LEFT JOIN是一种关联查询操作,它用于合并两个或更多表的数据,主要关注左表(第一个表)的所有记录,即使在右表...如果不能避免右表有多个匹配记录,确保理解这些记录如何影响LEFT JOIN的结果是非常重要的。

    mysql_adv_select.rar_any left join_union

    结合使用`LEFT JOIN`和`UNION ALL`,我们可以构造一个复杂的查询,首先使用`LEFT JOIN`从文章表中获取数据,并关联到分类表以获取对应的分类名称,然后通过`UNION ALL`将不同条件下的查询结果整合在一起。...

    深入Oracle的left join中on和where的区别详解

    在Oracle数据库中,LEFT JOIN是一种联接操作,用于合并两个或更多表的记录,返回所有左表(第一个提及的表)的记录,即使在右表中没有匹配的记录。LEFT JOIN的关键在于它会保留左表的所有行,并尝试与右表匹配。当...

Global site tag (gtag.js) - Google Analytics