急!关于一个两张1:n(n=0...N)的表的select
有两个表
表A 表B
idA contentA idB idA contentB
1 a1 1 1 b1
2 a2 2 1 b2
3 a3 3 2 b3
结果
idA contentA idB contentB
1 a1 1 b1
1 a1 2 b2
2 a2 3 b3
3 a3 null null
--------------------------------------------------------
我现在用下面的语句实现:
select idA,contentA,idB,contentB from a,b where a.idA=b.idB
union
select idA,contentA,null,null from a where a.idA not in
(select b.idA from b)
请问不用union能实现这样的功能吗(一条语句)?用union有坏处吗?
我发现用union的话下面的not in 中就要重复做上面的那个select一次,这样如果
上面的select中where比较复杂的话,not in 也同样复杂,除了这个还有别的缺点吗?