join mutiple tables多表连接,复合连接条件即使用多个条件连接这两个表格。隐式连接,implicit join

orders 

 customers

order_statues 

 

将这三张表连接起来 

SELECT *
FROM orders o
JOIN customers c
    ON o.customer_id = c.customer_id
JOIN order_statuses os
	ON o.status = os.order_status_id

 

 我们从中选出一些列

我们有订单id,订单日期,顾客姓名,还有订单状态

SELECT 
	o.order_id,#从order表里想选
    o.order_date,
    c.first_name,#从顾客表里想选
    c.last_name,
    os.name AS status -- 给列起别名
FROM orders o
JOIN customers c
    ON o.customer_id = c.customer_id
JOIN order_statuses os
	ON o.status = os.order_status_id

复合连接条件

比如在customer表中,顾客id唯一识别了这张表

但存在我们无法使用单一列来准确识别某张表里列的情况

 

 黄健代表这两列都有主键,我们称为复合主键

SELECT *
FROM order_items oi
JOIN order_item_notes oin
	ON oi.order_id=oin.order_Id
    AND oi.product_id=oin.product_id

查询结果为空,因为没匹配上.

隐式连接 ,不建议使用

下面这两个代码是一样的

SELECT *
FROM orders o
JOIN customers c
	ON o.customer_id = c.customer_id
SELECT *
FROM orders o, customers c
WHERE o.customer_id = c.customer_id

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值