SQL 左右连接问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 04:51:02
有两个表 tba1和tba2 tba1里有id和num两列 tba2里有id和anum两列 我 select * from tba1 left join tba2 on tba1.id=tba2.id 为什么输出的是四列 左连接不是左边内表数据全有 然后右边内边没有的列用NULL填充吗 我执行上面的语句返回的结果 是ID NUM ID ANUM tba2并没有用NULL填充NUM那列啊??
现在没出现NULL值啊 我想向你们说的那样 出现一个表有NULL 但是没有! 如果不用* 那么前面写哪列 结果就有哪列 也没有向连接中说的那样 右表没有的列 也出现 用NULL

你写的sql语句中的 * 是将两个表中所有列取出来的意思。
每个表有两列数据,两个表就取出了四个数据。
left join 是左表取全部数据,右表不符合连接条件的用null填充。
也就是取出的结果中id和num两列(tba1表中的列)全部有值,id和anum两列(tba2表中的列)可能出现null值。

left outer join 试试看
楼主是不是 where语句有tba2的条件啊,如果这样就相当于 inner join了,如果有这个需要的话可以加在left join tba2 on tba1.id=tba2.id and 。。。
不知道是否能解决楼主的问题