mysql left outer join 和 right outer join

 

看到某某用了左连接,右连接之类的,但是概念很模糊了

今天特地弄了一下

 

表字段

 

表字段

 

数据一

 

数据二

 

简单理解如下:

左连接(左边表为主,右边有相同数据的列出)

select * from project p left join staff s on p.name=s.name;

左连接

 

右连接(右表为主,左边有相同数据的列出)

select * from project p right join staff s on p.name=s.name;

右连接

 

 

多个left join 或者 right join

 

 select * from

 staff s left join project p on s.name=p.name

 left join staff s1 on s.name=s1.name;

 

 

select * from staff s ,project p left join project p1 on p.name=p1.name;

即使写成

select * from staff s,project p left join project p1 on p1.name=p.name;

都行

 

但是:select * from staff,project p left join project p1 on s.name=p1.name;

这样是不行的

???

 

是靠近left join 的相邻的表的连接吗?

 

 

 

  --select * from staff u,project t
  --left join project l on l.name=t.name,
 
  --project s
  --left join project m
  --on s.name=m.name
  --left join project s1
  --left join project uc2
  --on s1.name=uc2.name on s1.name=s.name;

 

你可能感兴趣的:(mysql)