Inner Joins | 内连接 | 在多个表格中检索数据 | MySQL

INNER JOIN

案例:

inner 可省略不写
前提:在本案例中的两个表里的id列是一致的

SELECT *
FROM orders
JOIN customers 
	ON  orders.customer_id = customers.customer_id
    -- 把订单表和顾客表连接

在这里插入图片描述

因为是SELECT *,因此返回了两个表的所有列

1-现在修改SELECT *

SELECT order_id , first_name , last_name
FROM orders
JOIN customers 
	ON  orders.customer_id = customers.customer_id

在这里插入图片描述

2-再次修改SELECT 后面的语句

SELECT order_id , first_name , last_name , customer_id
FROM orders
JOIN customers 
	ON  orders.customer_id = customers.customer_id

在这里插入图片描述
在这里插入图片描述
原因:
因为量表都有customer_id一列,因此MySQL不知道该返回哪一列
修改方法:
在列前增加表格名

SELECT order_id , first_name , last_name , customers.customer_id
FROM orders
JOIN customers 
	ON  orders.customer_id = customers.customer_id

在这里插入图片描述

3-使用别名减少重复,使代码更简洁

例如,用o作为order的别名;用c作为customers的别名

SELECT order_id , first_name , last_name , c.customer_id
FROM orders o
JOIN customers c
	ON  o.customer_id = c.customer_id

练习:

连接表order_items和表products,并返回订单id、产品id、数量、单价

SELECT order_id, o.product_id, quantity, o.unit_price
FROM order_items o
	JOIN products p
    ON o.product_id = p.product_id
    

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值