SQL之join的简单用法

SQL之join的简单用法

SQL语句的JOIN用于把来自两个或多个表的行结合起来

1)INNER JOIN(内连接)
产生的结果是两个表中交集(相同列里面的相同值)的行。它返回两个表中所有匹配的数据。例如:

SELECT *   
FROM TableA   
INNER JOIN TableB ON TableA.PK = TableB.PK;

2)LEFT JOIN(左连接)
结果是左表中的所有行都出现在结果中,而右表中则可能出现空值字段。它返回左表中的所有数据,以及与之匹配的右表中的数据(如果存在)。例如:

SELECT *   
FROM employee   
LEFT JOIN department ON employee.department_id = department.department_id;

3)RIGHT JOIN(右连接)
结果是右表中的所有行都出现在结果中,而左表中则可能出现空值字段。它返回右表中的所有数据,以及与之匹配的左表中的数据(如果存在)。例如

SELECT *   
FROM employee   
RIGHT JOIN department ON employee.department_id = department.department_id;

4)FULL JOIN(全连接)
结果是两个表中的所有行都出现在结果中,如果某个表中没有与之匹配的行,则对应列会出现空值。它返回两个表中的所有数据(如果存在匹配的话)。例如

SELECT *   
FROM employee   
FULL JOIN department ON employee.department_id = department.department_id;

5)NATURAL JOIN(自然连接)
它返回两个表中所有名称相同的列,以及与之匹配的其它列。例如

SELECT * FROM employee NATURAL JOIN department;

6)CROSS JOIN
也称为叉积,它返回两个表中的所有可能的行组合,不考虑任何条件。结果中的每个行是两个输入表中的行的组合。例如:

SELECT * FROM TableA CROSS JOIN TableB;

7)SELF JOIN
它用于在一个表上自我连接。这通常用于在一张表上反映两个关联的列之间的关系。例如:

SELECT * FROM TableA AS t1, TableA AS t2 WHERE t1.id <> t2.id;

8)UNION JOIN

SELECT * FROM TableA UNION JOIN TableB;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

付宇利

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值