SQL基础教程——联结(第七章第二节)

1、内联结——INNER JOIN

集合运算会导致行数的增减。联结运算就是讲其他表中的列添加过来,进行“添加列”的运算。

SELECT SP.shop_id,sp.shop_name,sp.product_id,p.product_name,p.sale_price
FROM shopproduct AS sp INNER JOIN product AS p
ON sp.product_id=p.product_id;

注意:

  1. 因为联结会用到多张表,推荐使用别名
  2. 我们可以在ON之后指定两张表联结所使用的列(联结键)
  3. 在SELECT子句中使用“<表的别名>.<列名>”的形式来指定列

2、外联结——OUTER JOIN

SELECT SP.shop_id,sp.shop_name,sp.product_id,p.product_name,p.sale_price
FROM shopproduct AS sp RIGHT OUTER JOIN product AS p
ON sp.product_id=p.product_id;

3、三张以上的表的联结

SELECT SP.shop_id,sp.shop_name,sp.product_id,p.product_name,p.sale_price
FROM shopproduct AS sp INNER JOIN product AS p
ON sp.product_id=p.product_id
INNER JOIN inventoryproduct AS ip
ON sp.product_id=ip.product_id;

4、交叉联结——CROSS JOIN(笛卡尔积)

SELECT SP.shop_id,sp.shop_name,sp.product_id,p.product_name,p.sale_price
FROM shopproduct AS sp CROSS JOIN product AS p
ON sp.product_id=p.product_id;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值