数据库:twt001
数据表:at1,at2,at3
参考文章:三表左连接查询的sql语句写法
at1 表 at2 表 at3 表
今天要查询所有realname的username,psw,gname,tel
遇到的麻烦是当一个realname在t2表中没有内容时,也要将此realname的username,psw,tel等显示出来,直接使用
select username,psw,gname,tel from at1,at2,at3
where at1.t1_id=at2.t1_id and
at1.t1_id=at3.t1_id
得到的结果是:t2表中必须有某个realname的作品,才能查询出来他的信息,这肯定不是想要的结果,最后想到使用左连接,sql语句是:
select username,psw,gname,tel
from (at1 left join at2 on at1.t1_id=at2.t1_id)
left join at3 on at1.t1_id=at3.t1_id
以上的查询虽然能显然我们想要的信息但不够直观,改进一下
select realname,username,psw,gname,tel
from (at3 left join at1 on at3.t1_id=at1.t1_id)
left join at2 on at3.t1_id=at2.t1_id