章節2:SQL之多表連接


Sql的多表連接關系有:內連接、外連接和交叉連接。

先建立兩個用於演示的表:

TB_Characters:

Id Character
1 內向
2 外向
3 中性性格

TB_Colors:

Id Color
1 綠色
2 紅色
4 藍色

一、內連接:

內連接(JOIN  或 INNER JOIN):內連接取交集

示意圖:

image

SELECT * FROM tb_characters INNER JOIN tb_colors ON tb_characters.ID = tb_colors.ID;

結果:

image

二、外連接:

外連接可分為:左連接、右連接、完全外連接。

1、左連接(LEFT JOIN):

示意圖:

image

SELECT * FROM tb_characters LEFT JOIN tb_colors ON tb_characters.ID = tb_colors.ID;

結果:

image

2、右連接(RIGHT JOIN):

示意圖:

image

SELECT * FROM tb_characters RIGHT JOIN tb_colors ON tb_characters.ID = tb_colors.ID;

結果:

image

3、完全外連接:

示意圖:

image

select * from tb_characters LEFT JOIN tb_colors on tb_characters.ID=tb_colors.ID
UNION
select * from tb_characters RIGHT JOIN tb_colors on tb_characters.ID=tb_colors.ID

結果:

image

三、交叉連接( CROSS JOIN ):

交叉連接產生連接所涉及的表的笛卡爾積。

SELECT * FROM tb_characters CROSS JOIN tb_colors;

結果:

image


補充:

1、如下可獲取內連接結果:

SELECT * FROM tb_characters,tb_colors WHERE tb_characters.ID = tb_colors.ID;

2、如下可獲取交叉連接結果:

SELECT * FROM tb_characters,tb_colors;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM