SQL基础教程7(2)联结

联结(以列为单位对表进行联结)

联结(JOIN):将其他表的列添加过来,进行“添加列”的集合运算,用于无法从一张表中获取期望数据(列)的情况

对于联结的过时语法和特定语法,虽然不建议使用,但还是希望大家能够读懂。

UNION是以行(纵向)为单位进行操作,而联结则是以列(横向)为单位进行的

内联结——INNER JOIN:将联结之后的结果想象为新创建出来的一张表,只能选取出同时存在于两张表中的数据

要点:

1、FROM子句:进行联结时需要在FROM子句中使用多张表

2、ON子句:指定联结条件(联结键),需要指定多个键时,同样可以使用 AND、OR

3、(希望)使用联结时SELECT子句中的列需要按照“<表的别名>.<列名>”的格式进行书写。

  • 只有那些同时存在于两张表中的列(这里是 product_id)必须使用这样的书写方式

外联结——OUTER JOIN:结果中包含原表中不存在(在原表之外)的信息

要点:

1、选取出单张表中全部的信息

2、主表:指定主表的关键字是 LEFT 和 RIGHT,通常使用 LEFT 的情况会多一些

交叉联结——CROSS JOIN:集合运算中的乘法,在实际业务中并不会使用(1、结果没有实用价值 ,2、结果行数太多,需要花费大量的运算时间和高性能设备的支持。

  • 无法使用内联结和外联结中所使用的 ON 子句,因为交叉联结是对两张表中的全部记录进行交叉组合,因此结果中的记录数通常是两张表中行数的乘积。
  • 内联结是交叉联结的一部分,“内”也可以理解为“包含在交叉联结结果中的部分”。相反,外联结的“外”可以理解为“交叉联结结果之外的部分”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

九号会弹钢琴啊

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

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

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

打赏作者

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

抵扣说明:

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

余额充值