在2个表中请求SQL

时间:2018-08-25 11:07:45

标签: sql postgresql optimization inner-join

我希望合并2个SQL查询以进行优化,这是我的2个查询。

SELECT name, mess, image, date
FROM post_normal
WHERE name = flarize
ORDER BY date DESC

SELECT name, mess, image, name_second, image_second, quote, date
FROM post_special
WHERE name = flarize
ORDER BY date DESC

谢谢,我真的不知道该怎么做。

1 个答案:

答案 0 :(得分:2)

如果两个结果都相同,则可以使用UNION

    SELECT name, mess, image, null, null, null, date 
    FROM post_normal 
    WHERE name = flarize 

    UNION 

    SELECT name, mess, image, name_second, image_second, quote, date 
    FROM post_special 
    WHERE name = flarize 
    ODER BY date DESC

如果需要单行,则可以使用JOIN

   SELECT a.name, a.mess, a.image, a.date
        , b.name, b.mess, b.image, b.name_second, b.image_second, b.quote, b.date 
    FROM post_normal a 
    LEFT  JOIN post_special b on a.name = b.name a.name = 'flariz'