MySQL四種連接查詢。
首先創建兩個表
person 表
create table person(
id int,
name varchar(20),
cardId int
);
card表
create table card(
id int,
name varchar(20)
);
一、內連接
inner join或者join
內聯查詢:就是兩張表的數據,通過某個字段相對,查詢出相關記錄數據。
例:
select * from person inner join card on person.cardId=card.id;
二、外連接
1、左連接 left join 或者 left outer join
左外連接:會把左邊表裏面的所有數據取出來,而右邊表中的數據,如果有相等的就取出來
如果沒有,就會補NULL。
例:
select * from person right join card on person.cardId=card.id;
2、右連接 (rigth join) 或者 (right outer join)
右外連接: 會把右邊表裏面所有數據取出來,而左邊表中的數據,如果有相等的,就顯示出來,如果沒有就補NULL。
例:
select * from person right join card on person.cardId=card.id;
3、完全外連接full join或者 full outer join
全外連接(full join):mysql不支持full join,如果要實現全外連接,就使用union將左外連接和右外連接並起來。
例:
select * from person left join card on person.cardId=card.id
union
select * from person right join card on person.cardId=card.id;
圖解四種連接
1、內連接
2、左(外)連接
3、右(外)連接
4、全(外)連接
全連接就是左連接和右連接的並集,也就是上圖的全部。