如果我可以更轻松地进行连接,为什么还要加入两列呢?

时间:2019-07-12 11:46:04

标签: sql sql-server tsql

因此,我们有两个表,其中一个表中有我们的客户,另一个表中有我们的订单,并且两个表中都有一个客户ID。

Customers Table

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

  1. 我可以说(从id =“ 1”的订单中选择*
  2. 我可以说(从id = customer.id,其中id =“ 1”的客户加入订单中选择*

所以我问这个,为什么我应该使用第二种方法,因为第二种方法写起来比较长,或者还有其他用途?

1 个答案:

答案 0 :(得分:1)

如果您有客户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;