inner joins内连接,join on在多张表格中检索数据,通常需要在多张表格中选取列,当多张表有一样的列,需要添加表名的前缀,紧跟每个表的后面可以使用别名

 订单表

顾客表

如何选取orders表中的订单,但我们不展示顾客id
要展示顾客的全名

SELECT *
FROM orders
JOIN  customers ON orders.customer_id = customers.customer_id
#合并orders表里的列和customers表里的列
#JOIN 或inner join inner可以不写
#想把订单表和顾客表连接,我们基于什么来连接这些表?
#依据id
#每次连接订单表和顾客表时,要确保订单表里的顾客id列和顾客表里的顾客id列

结果表中先是orders表中的列,因为我们先写的order

from orders 

 当多张表有一样的列,需要添加表名的前缀

SELECT order_id, first_name, last_name, orders.customer_id
FROM orders
JOIN  customers ON orders.customer_id = customers.customer_id
/*
直接select 顾客id会提示Column 'customer_id' in field list is ambiguous
因为两个表中都有顾客id,所以mysql不知道我们想从哪张表中选取该列
从order表或customer表选取都可以,因为orders.customer_id = customers.customer_id它俩都一样

*/

 

 紧跟每个表的后面可以使用别名,简化代码

SELECT order_id, first_name, last_name, o.customer_id
FROM orders o#每当有orders就用o代替
JOIN  customers c ON o.customer_id = c.customer_id

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值