SQL,如何从不同的表中选择属性?

Posted

技术标签:

【中文标题】SQL,如何从不同的表中选择属性?【英文标题】:SQL,how to select attributes from different tables? 【发布时间】:2014-10-20 15:21:17 【问题描述】:

我想从 3 个不同的表中选择 user_name、vehicle_name 和 maintain_cost,其中 user_id、vehicle_id 和 maintain_cost_id 等于三,所以我使用了哪个查询,我试试这个

(select user_name,vehicle_name,maintain_cost
from user,vehicle,maintain_cost
where user_id='3') 

但是不知道怎么放vehicle_id='3'和maintain_cost_id='3'

【问题讨论】:

用户、车辆、维护成本的架构是什么? 【参考方案1】:

使用左连接,可以在此处找到示例:http://www.w3schools.com/sql/sql_join_left.asp

【讨论】:

【参考方案2】:

你可以做这样的事情,只要用真实的 id 来调整它:

SELECT user_name,vehicle_name,maintain_cost
FROM USER u 
LEFT JOIN vehicle v ON v.user_id=u.user_id 
LEFT JOIN maintain_cost m ON m.vehicle_id=v.vehicle_id
WHERE u.user_id=3 AND v.vehicle_id=3 AND maintain_cost_id=3

【讨论】:

以上是关于SQL,如何从不同的表中选择属性?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 SQLite 中的表中选择最新的 100 个不同条目?

如何从不同的表中选择数据?

如何从 sql server 2008 中具有不同 TaskIds 的表中查找日期?

从 Sql 中的表中选择不同的日期间隔

根据sql中的条件从不同的表中选择一个值

从 jsonb 数组包含具有特定属性的元素的表中选择