一个关于sql语句非常白痴的问题
ttoc 2006-05-10 10:35:10 我有两个表
create table t1(
f1 integer,
f2 integer,
f3 integer);
create table t2(
f1 integer,
f2 integer,
f3 integer);
insert into t1 values (1,1,1);
insert into t1 values (2,2,2);
insert into t1 values (3,3,3);
insert into t2 values (1,6,6);
现在做一个查询
select t1.f2,t2.f2 from t1 left join t2 on t1.f1=t2.f1
得到
+------+------+
| f2 | f2 |
+------+------+
| 1 | 6 |
| 2 | NULL |
| 3 | NULL |
+------+------+
但是加上一个where条件,变成
select t1.f2,t2.f2 from t1 left join t2 on t1.f1=t2.f1 where t2.f2=6;
就得到
+------+------+
| f2 | f2 |
+------+------+
| 1 | 6 |
+------+------+
不是左连接吗?怎么t1中的数据不全显示呢?可能问题比较蠢,希望哪位大哥能给解释一下.
还有就是我怎么能既给t2加上where条件,又有t1中的全部值,谢谢了