浅谈,SQL语句中LEFT JOIN ON WHERE和LEFT JOIN ON AND的区别

如题所述

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

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

如果数据量大的话,想要效率更高把*用对应的字段代替
温馨提示:内容为网友见解,仅供参考
无其他回答

浅谈,SQL语句中LEFT JOIN ON WHERE和LEFT JOIN ON AND的区别
你好,left join,right,full后on和where的区别就在于:on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录,而where条件是在临时表生成好后,再对临时表进行过滤的条件。而且除了stu_id=1的那条记录,class表中字段不满足过滤条件的记录(即使被关联到了)全是null...

SQL左右连接中的on and和on where的区别
1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉,on后的条件用来生成左右表关联的临时表,where后的条件对...

sql内链接和链接查询有区别吗?
总结,On 用于生成临时表时的条件筛选,而 Where 用于对临时表中的记录进行过滤。理解这些概念之间的差异,结合实际应用进行多实践、多动手,会发现这些问题并不难。记住,基础性的东西是构建更复杂系统的基础,持之以恒的实践与操作,会让你在 SQL 查询方面更加游刃有余。

sql语言中join on和where有什么区别?
right join  right 正好与left的相反. 另: join是表连接,where是条件判断.但如果是比较复杂的sql查询或者是多次连续调用的话就有区别了.where是擅长条件判断join是擅长表与表之间的联合查询 在多表查询的

深入Oracle的left join中on和where的区别详解
在使用left jion时,on和where条件的区别如下:1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。假设有两张...

left join on 加条件和where加条件有什么区别?
1、在on后面加条件仅适合用于left join (right join未测,inner join与where类似)。2、不考虑where条件下,left join会把左表所有数据查询出来,on及其后面的条件仅仅会影响右表的数据(符合就显示,不符合全部为null)。3、where后面加条件与左连接本身无关,影响的是连接产生后的数据。4、所以左连接...

SQL 【left join 多个条件与where的区别】
在实习过程中,我注意到在使用 SQL 的 left join 时,如果应用了多个条件,需要谨慎处理。这涉及到 left join 和 where 子句在数据筛选和连接时的不同作用。基本概念上,left join 是一种用于查询多个表数据的连接方式,它返回左表中的所有记录,即使在连接条件中对应的右表没有匹配的记录,这些记录...

深入Oracle的left join中on和where的区别详解
b on a.seq =b.seq where b.del_code ='A' 两个SQL语句是有区别的,第一个SQL,如果B表中没有符合条件的数据,因为是LEFT JOIN,所以查询的结果相当于是select a.* form A a,第二个SQL,条件在where中,如果B表中没有符合条件的数据,查询的结果就是为空。LFET join也就失去了意义。

sql语句中join ,left join ,right join有什么区别
left join :左连接,返回左表中所有的记录以及右表中连接字段相等的记录。right join :右连接,返回右表中所有的记录以及左表中连接字段相等的记录。inner join:内连接,又叫等值连接,只返回两个表中连接字段相等的行。full join:外连接,返回两个表中的行:left join + right join cross join:...

SQL中left join on 、right join on、inner join on之间的区别
1.left join sql语句如下: select * from A left join B on A.aID = B.bID 结果如下:aID aNum bID bName 1 a200501111 2006032401 2 a200501122 2006032402 3 a200501133 2006032403 4 a200501144 2006032404 5 a20050115NULL NULL (所影响的行数为 5 行)结果说明:...

相似回答