SQL可选参数?

时间:2013-08-01 06:54:37

标签: mysql sql

假设我有两张桌子:

表1

Id Name
1 Joe
2 Greg
3 Susan
4 Max

表2

Uid comment
2    Good customer
4    Great guy

我想要做的是列出表1中的所有元素,如果Table1.Id = Table2.Uid我想选择此评论。如果评论不存在,请给出空白字段。

结果应该是:

1 Joe 
2 Greg Good customer
3 Susan
4 Max Great Guy

如果我写的话,我无法弄明白该怎么做:

select
table1.Id,
table1.Name,
table2.comment

where
table1.id=table2.Uid

它只给我2和4用户。

3 个答案:

答案 0 :(得分:4)

尝试使用left join它会显示table1

中的所有数据
select t1.Id, t1.Name, t2.comment
from table1 t1
left join table2 t2 on t1.id=t2.Uid

注意

良好做法是使用上述别名。代码更具可读性。

答案 1 :(得分:1)

select
table1.Id,
table1.Name,
table2.comment
from table1 left outer join table2 on table1.id=table2.Uid

答案 2 :(得分:0)

这是一个经典的JOIN操作:

SELECT 
        t1.id, t1.name, t2.comment 
FROM 
       Table1 AS t1 
LEFT JOIN 
       Table2 AS t2 ON t1.id = t2.uid