大家好,工作中遇到个问题,想请教大家一下,如下两张表:
A表:
tid ,tname,tgerden
1, lucy, 女
B表:
tid, tsaleproduct,tsaleqty
1, K001 3
2. K002 2
3, K003 4
两张表通过TID字段做关联,现在想查出如下的结果
lucy, 女, K001, 3
null,null, K002, 2
null,null, K003, 4
也就是没有的,显示NULL就可以了。。请问大家该如何写SQL。
------解决思路----------------------
select * from A full join B on A.tid=B.tid
全连接 妥妥哒
------解决思路----------------------
create table A表
(tid int,tname varchar(10),tgerden varchar(10))
insert into A表
select 1,'lucy','女'
create table B表
(tid int,tsaleproduct varchar(10),tsaleqty int)
insert into B表
select 1,'K001',3 union all
select 2,'K002',2 union all
select 3,'K003',4
select a.tname,a.tgerden,b.tsaleproduct,b.tsaleqty
from A表 a
full join B表 b on a.tid=b.tid
/*
tname tgerden tsaleproduct tsaleqty
---------- ---------- ------------ -----------
lucy 女 K001 3
NULL NULL K002 2
NULL NULL K003 4
(3 row(s) affected)
*/