sql - 当我能以更简单的方式加入两个专栏时,我为什么要加入?
问题描述
因此,假设我们有两张桌子,其中一张有我们的客户,另一张有我们的订单,我们在两张桌子上都有一个客户 ID。
所以我想获得特定客户的订单,在这里我有两种方法可以做到:
- 我可以说 (Select * from orders where id = '1'</li>
- 我可以说(Select * from customers join orders on id = customers.id where id = '1'</li>
所以我在问这个,为什么我要使用第二种方法,因为它的编写时间更长,或者还有其他用途吗?
解决方案
如果您有客户 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;
推荐阅读
- mysql - 如何将 INSERT INTO -> ON DUPLICATE KEY UPDATE 函数的值放入 SELECT 中?
- javascript - 如何更改对象数组中的列位置
- amazon-web-services - Apache Solr 和 AWS Comprehend Machine Learning 用于排序和分类
- r - ggplot中的两个不同颜色键
- sql - 如何根据 Where 条件选择 MAX 值
- c++ - Swift 的 [weak self] 替代 C++
- sql - 如何使用实体框架核心定义区分大小写的唯一性索引?
- reactjs - Enzyme+React 期望组件字符串 - 无法解析选择器
- mysql - 使用逗号分隔列表在列中查找逗号分隔值
- kernel - 恢复按钮不起作用 - Amlogic android 盒子