數(shù)據(jù)庫中的表連接包括三種:內連接、外連接定硝、交叉連接
t1(表):
id | name |
---|---|
1 | tome |
2 | jey |
5 | mark |
6 | merry |
t2(表):
ides | namees |
---|---|
2 | qwer |
3 | asdf |
5 | zxcv |
6 | kenan |
內連接(inner join)
查詢兩個表中相同的記錄:
select id,namees from t1 INNER JOIN t2 on t1.id = t2.ides
結果:
id | namees |
---|---|
2 | qwer |
5 | zxcv |
6 | kenam |
外連接
外連接又分左連接(左向外連接)晨雳、右連接(右向外連接)续挟、完全外連接
左連接和左向外連接是一個東西紧卒,名字不同罷了。 右同
左連接left join(左向外連接left outer join)
左連接是將左表的數(shù)據(jù)全部查出诗祸,然后與右表進行匹配on關鍵字后面的內容跑芳,如果沒有相關聯(lián)的數(shù)據(jù)則為NULL
select id,namees from t1 LEFT OUTER JOIN t2 on t1.id = t2.ides
結果
id | namees |
---|---|
2 | qwer |
5 | zxcv |
6 | kenam |
1 | NULL |
右連接right join(右向外連接right outer join)
右連接是將右表數(shù)據(jù)全部查出,然后與左表進行匹配on關鍵字后面的內容直颅,如果沒有相關聯(lián)的數(shù)據(jù)則為NULL
select id,namees from t1 RIGHT JOIN t2 on t1.id = t2.ides
結果
id | namees |
---|---|
2 | qwer |
NULL | asdf |
5 | zxcv |
6 | kenam |
完全外連接
select id,namees from t1 FULL JOIN t2 on t1.id = t2.ides
結果
id | namees |
---|---|
1 | NULL |
2 | qwer |
5 | zxcv |
6 | kenam |
NULL | asdf |
不過Mysql里沒有完全外連接
交叉連接
交叉連接即笛卡爾積連接博个,是兩張表的數(shù)據(jù)的集合」Τィ總數(shù)是n*n盆佣。