首页 > 解决方案 > 当我能以更简单的方式加入两个专栏时,我为什么要加入?

问题描述

因此,假设我们有两张桌子,其中一张有我们的客户,另一张有我们的订单,我们在两张桌子上都有一个客户 ID。

客户表

所以我想获得特定客户的订单,在这里我有两种方法可以做到:

  1. 我可以说 (Select * from orders where id = '1'</li>
  2. 我可以说(Select * from customers join orders on id = customers.id where id = '1'</li>

所以我在问这个,为什么我要使用第二种方法,因为它的编写时间更长,或者还有其他用途吗?

标签: sqlsql-servertsql

解决方案


如果您有客户 ID,那么只需执行以下操作:

select o.*
from orders o
where o.customer_id = 1;

如果要使用其他信息,则只需将表连接在一起,例如:

select o.*
from orders o join
     customers c
     on o.customer_id = c.customer_id
where c.email = @email;

推荐阅读