自连接查询:如何return子行和父行?

Self join query: how to return children and parent row?

我有这个table:

Content:
- id
- parent_id
- slug
- creation_date

parent_id是指向同一个table的外键(content.id)。

我想 select table 中属于同一 table 中的 parent_id 的所有子行。我希望父行也被 returned。

现在我有这两个查询,它们都只对 return 子行有效:

SELECT a.* 
FROM content a 
JOIN content b ON a.parent_id = b.id
WHERE b.slug = 'some-slug'
ORDER BY creation_date

和:

SELECT content.* 
FROM content 
WHERE content.parent_id = (SELECT id FROM content WHERE slug= 'some-slug')
ORDER BY creation_date

如何 return 子行以及按 creation_date 排序的父行?

谢谢!

select  child.*
from    Content child
join    Content parent
on      child.parent_id = parent.id
where   parent.slug = 'some-slug'
union all
select  parent.*
from    Content parent
where   parent.slug = 'some-slug'
order by
        creation_date