SQLの各種接続ジョイン判例詳細

3097 ワード

最も一般的なJOINタイプ:SQL INNER JOIN(簡単なJOIN)、SQL LEFT JOIN、SQL RIGHT JIN、SQL FLL JOINのうち、前のタイプは内連結、後の3種類は外部リンクです。
テーブルが二つあると仮定して、テーブルAは上の表で、テーブルBは下の表です。
テーブルA
id。
name
1
Google
2
宝を洗う
3
微博
4
Facebook
テーブル
id。
address
1
米国
5
中国
3
中国
6
米国
一、INNER JOIN
内部接続は最も一般的な接続であり、一致する行のみを接続します。
inner join文法

select column_name(s)
from table 1
INNER JOIN table 2
ON
table 1.column_name=table 2.column_name
INNER JOINはJOINと同じです。

INNER JOINによる結果集は、1と2の交差点です。

select * from Table A inner join Table B
on Table A.id=Table B.id
上記のSQL出力を実行した結果は以下の通りです。
id。
name
address
1
Google
米国
3
微博
中国
二、LEFT JOIN
LEFT JOINは左の表の全行と右の表がON条件を満たす行に戻ります。左の表の行が右の表に一致していない場合、この行の右の表に対応するデータはNULLで代替されます。
LEFT JOIN文法

select column_name(s)
from table 1
LEFT JOIN table 2
ON table 1.column_name=table 2.column_name
あるデータベースの中で、LEFT JOINはLEFT OUTER JINと呼ばれています。

LEFT JOINは表1の完全集合を生成し、2表に一致するものは値があり、一致しないものはnull値で置換される。

select * from Table A left join Table B
on Table A.id=Table B.id
上記のSQL出力を実行した結果は以下の通りです。
id。
name
address
1
Google
米国
2
宝を洗う
null
3
微博
中国
4
Facebook
null
三、RIGHT JOIN
RIGHT JINは右の表の全行と左の表がON条件を満たす行に戻ります。右の表の行が左の表に一致していない場合、この行の左の表の対応データはNULLで代替されます。
RIGHT JOIN文法

select column_name(s)
from table 1
RIGHT JOIN table 2
ON table 1.column_name=table 2.column_name
注:あるデータベースの中で、RIGHT JOINはRIGHT OUT JTER JINと呼ばれています。

RIGHT JOINは表2の完全集合を生成し、1表に一致するものは値があり、一致しないものはnull値で置換される。

select * from Table A right join Table B
on Table A.id=Table B.id
上記のSQL出力を実行した結果は以下の通りです。
id。
name
address
1
Google
米国
5
null
中国
3
微博
中国
6
四、FULL OUTER JIN
FLL JOINは左の表と右の表からすべての行に戻ります。テーブルのデータラインが他のテーブルに一致する行がない場合、反対側のデータはNULLで代替される。
FULL OUTER JOIN文法

select column_name(s)
from table 1
FULL OUTER JOIN table 2
ON table 1.column_name=table 2.column_name

FULL OUTER JOINは1と2のセットを生成します。ただし、一致した記録がない場合は、nullを値とします。

select * from Table A full outer join Table B
on Table A.id=Table B.id
上記のSQL出力を実行した結果は以下の通りです。
id。
name
address
1
Google
米国
2
宝を洗う
null
3
微博
中国
4
Facebook
null
5
null
中国
6
null
米国
ここではSQLの各種接続のJoinの事例について詳しく解説した文章を紹介します。もっと関連するSQL Joinの内容は以前の文章を検索してください。または下記の関連記事を引き続き閲覧してください。これからもよろしくお願いします。