使用MYSQL在多个表中查询

时间:2010-03-24 15:22:50

标签: mysql

我有2张桌子。

表1包含产品3行:ID,数量和价格。 表_2有两行:ID,Special_note。

并非所有产品都有特别说明。当产品没有特殊注释时,表2中没有该产品的行。

我正在尝试使用一个选择查询来获取table_1中的所有信息,但也可以从table_2中获取特殊注释。

我现在遇到的问题是,如果没有特别说明,它根本不会获取table_1中的信息。

我理解为什么会这样做,但我不知道如何修复查询,以便它返回所有产品,无论是否有特殊注释。

 SELECT TABLE_1.ID, QUANTITY, PRICE, SPECIAL_NOTE
 FROM TABLE_1, TABLE_2
 WHERE TABLE_1.ID = TABLE_2.ID

为了这个例子的目的,我简化了一点查询。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

使用LEFT OUTER JOIN

SELECT t1.ID, t1.QUANTITY, t1.PRICE, t2.SPECIAL_NOTE
FROM TABLE_1 t1
LEFT OUTER JOIN TABLE_2 t2 ON t1.ID = t2.ID

<强>更新

要添加WHERE子句,例如,数量&gt; = 1,请执行以下操作:

SELECT t1.ID, t1.QUANTITY, t1.PRICE, t2.SPECIAL_NOTE
FROM TABLE_1 t1
LEFT OUTER JOIN TABLE_2 t2 ON t1.ID = t2.ID
WHERE t1.QUANTITY >= 1