华山二老在此!
不求全面,但求正确。
摘要: SELECT * FROM aLEFT JOIN b ON a.id=b.idAND a.id=1 AND b.id=2这里 ON 中有三个条件,其意义分别为:a.id=b.id 两个表的连接条件,只有 a.id 与 b.id 相同的记录才进行匹配。 a.id=1 符合这个条件的记录被另一个表匹配。 b.id=2 符合这个条件的记录去匹配另一个表。可以看到 a.id=b.id 指定如何匹配;a.id=1 表示谁被匹配(不表示最终结果的筛选条件);b.id=2 表示用谁去匹配(不表示最终结果的筛选条件)。实例表 a:id v----1 a12 a23 a34 a45 a5表 b:id v---- 阅读全文
posted @ 2011-02-14 14:33 华山二老 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 在使用left jion时,on和where条件的区别如下: 1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。 2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边 表的记录)了,条件不为真的就全部过滤掉。 假设有两张表: 表1:tab2 id size 1 10 2 20 3 30 表2:tab2 size name 10 AAA 20 BBB 20 CCC 两条SQL:1、select 阅读全文
posted @ 2011-02-14 14:26 华山二老 阅读(198) 评论(0) 推荐(0) 编辑