章节2:SQL之多表连接_MySQL
程序员文章站
2023-12-22 14:15:46
...
bitsCN.com
一、内连接:
补充:
bitsCN.com
Sql的多表连接关系有:内连接、外连接和交叉连接。
先建立两个用于演示的表:
TB_Characters:
Id | Character |
1 | 内向 |
2 | 外向 |
3 | 中性性格 |
TB_Colors:
Id | Color |
1 | 绿色 |
2 | 红色 |
4 | 蓝色 |
一、内连接:
内连接(JOIN 或 INNER JOIN):内连接取交集
示意图:
SELECT * FROM tb_characters INNER JOIN tb_colors ON tb_characters.ID = tb_colors.ID;
结果:
二、外连接:
外连接可分为:左连接、右连接、完全外连接。
1、左连接(LEFT JOIN):
示意图:
SELECT * FROM tb_characters LEFT JOIN tb_colors ON tb_characters.ID = tb_colors.ID;
结果:
2、右连接(RIGHT JOIN):
示意图:
SELECT * FROM tb_characters RIGHT JOIN tb_colors ON tb_characters.ID = tb_colors.ID;
结果:
3、完全外连接:
示意图:
select * from tb_characters LEFT JOIN tb_colors on tb_characters.ID=tb_colors.IDUNIONselect * from tb_characters RIGHT JOIN tb_colors on tb_characters.ID=tb_colors.ID
结果:
三、交叉连接( CROSS JOIN ):
交叉连接产生连接所涉及的表的笛卡尔积。
SELECT * FROM tb_characters CROSS JOIN tb_colors;
结果:
补充:
1、如下可获取内连接结果:
SELECT * FROM tb_characters,tb_colors WHERE tb_characters.ID = tb_colors.ID;
2、如下可获取交叉连接结果:
SELECT * FROM tb_characters,tb_colors;
bitsCN.com
推荐阅读
-
章节2:SQL之多表连接_MySQL
-
章节2:SQL之多表连接_MySQL
-
Python中使用SQLAlchemy连接Mysql数据库2(多表连接操作)
-
Python中使用SQLAlchemy连接Mysql数据库2(多表连接操作)
-
十六、mysql 分区之 简单sql优化2_MySQL
-
十六、mysql 分区之 简单sql优化2_MySQL
-
MYSQL_2 多表 表关系 事务 一对多 多对多 sql练习
-
MyEclipse中对oracle、sql、mysql、db2的连接配置
-
MySQL优化系列(二)--查找优化(2)(外连接、多表联合查询以及查询注意点)
-
MySQL入门之使用SQL99标准的连接查询