sql嵌套查询的问题

事情是这样的,我使用WPF写数据表时 遇到了这个问题 我觉得想必将两次查询塞入数据表,不如直接一条SQL方便
表是这样的

IDTypeNameF_ID
1电脑0
2CPU1
3显卡1
4主板1
5蔬菜
6白菜5
7黑菜5

如何使用一条sql 将查出的数据

IDTypeNameF_IDF_Name
1电脑0
2CPU1电脑
3显卡1电脑

假设表名为tt

SELECT
t1.ID,t1.TypeName,t1.F_ID,t2.TypeName as F_Name
from tt t1
left join tt t2
on t1.F_ID = t2.ID
where 1=1
and t1.ID <= 3

没有测试,把表名替换了执行一下看有无错误

select a.*,b.TypeName as F_NAME from Test1 a,Test1 b where a.F_ID=b.ID
union select *,'' F_NAME from Test1 where ISNULL(F_ID,'')='' OR F_ID=0