MYSQL基于另一个表条目选择查询

时间:2010-11-14 06:01:52

标签: mysql join conditional-statements

由于我是MySql的初学者,所以我很难过。

这是两个表格形成的基础

  

表1   id,product_id,product_name

     

表2   ID,PRODUCT_ID,活性

现在我知道怎么做一个select语句来查询一个表的结果但是当我必须涉及两个时,我迷路了。不确定我是否必须使用内连接,左连接等。

那么,只有在表2中处于活动状态时,如何才能从表1返回product_id的结果?

2 个答案:

答案 0 :(得分:4)

您可以使用JOIN(如Fosco指出的那样),但您可以在WHERE子句中执行相同的操作。我注意到它比JOIN更直观,特别是对于那些正在学习SQL的人。此查询根据product_id连接两个表,并返回那些处于活动状态的产品。我假设“active”是布尔类型。

SELECT t1.*
FROM Table1 t1, Table2 t2
WHERE t1.product_id = t2.product_id AND t2.active = TRUE

W3Schools提供了各种JOIN的基础教程。请参阅INNER JOINLEFT JOINRIGHT JOINFULL JOIN

答案 1 :(得分:3)

加入两个表非常简单:

select t1.* 
from Table1 t1
join Table2 t2 on t1.product_id = t2.product_id
where t2.active = 'Y'