SQL中 LEFT JOIN ON 条件的效率高低比较

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL中 LEFT JOIN ON 条件的效率高低比较相关的知识,希望对你有一定的参考价值。

SELECT * FROM TABLEA A LEFT JOIN TABLEB ON A.ID = B.ID AND B.NAME = '123'

SELECT * FROM TABLEA A LEFT JOIN (SELECT * FROM TABLEB WHERE B.NAME = '123') B ON A.ID = B.ID
这两条SQL得出的结果是一样的 但是在数据量比较大的时候 哪一条的效率要高一些

第一种效率高,子查询是不会有索引的,并且以结果集作为子查询更慢

SELECT * FROM TABLEA A LEFT JOIN TABLEB ON A.ID = B.ID AND B.NAME = '123'

如果数据量大的话,想要效率更高把*用对应的字段代替
参考技术A 第一种效率高,子查询是不会有索引的

sql中join on两个条件怎么写

    表1 LEFT 表1.b=表2。

    表1.a=表2。

    FROM &nbsp.b WHERE 表2 JOIN&nbsp.

    a ANDON&nbsp: SELECT *&nbsp。

    结构化查询语言是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询,同时也是数据库脚本文件的扩展名。

    结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同 数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。

    1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言,1987年得到国际标准组织的支持下成为国际标准。

    结构化查询语言SQL是最重要的 关系数据库操作语言,并且它的影响已经超出 数据库领域,得到其他领域的重视和采用,如 人工智能领域的数据检索,第四代软件开发工具中嵌入SQL的语言等。

    SQL 是1986年10 月由 美国国家标准局通过的 数据库语言美国标准,接着,国际标准化组织颁布了SQL正式国际标准。1989年4月,ISO提出了具有完整性特征的SQL89标准。

参考技术A

您好:

SELECT *
  FROM 表1
  LEFT JOIN 表2 
    ON 表1.a=表2.a AND 表1.b=表2.b
 WHERE 条件

本回答被提问者采纳
参考技术B 最佳答案的那个仁兄是个啥毕

以上是关于SQL中 LEFT JOIN ON 条件的效率高低比较的主要内容,如果未能解决你的问题,请参考以下文章

Oracle的left join中on和where的区别

SQL中left join on 、right join on、inner join on之间的区别

sql中where的与jnner join on的连接条件.哪个优先级别高?

sql中join on两个条件怎么写

sql中left join on 多个条件需要特殊注意之处

SQL: LEFT JOIN , RIGHT JOIN , INNER JOIN 区别 , on 和 where条件的区别