1. 程式人生 > >sql語句-關於自身表連線之join與left join

sql語句-關於自身表連線之join與left join

1、建立表

drop table if exists t_user;

create table t_user(

id int(11) not null auto_increment,

user_id int(11),

user_name varchar(100),

primary key(id)

)engine=Innodb default charset=utf8;

2、插入測試資料

insert into t_user values(1,1,'admin');

insert into t_user values(2,2,'superadmin');

3、表自身關聯-join

select * from t_user t1  join (select * from t_user) t2 on t1.id=1 and t2.id=2

 

4、表自身關聯-left join

select * from t_user t1  left join (select * from t_user) t2 on t1.id=1 and t2.id=2

總結:

1)表的自關聯是通過把一個表命名不同的名稱,然後找到想要關聯的關係進行關聯;

2)左連線left join查詢出來的結果不僅僅是on 後面條件關聯的資料,還包括條件中沒有關聯到的但是左邊的select查詢到的結果,沒有關聯到的資料部分用NULL填充。