2016-03-01 71 views
0

我需要帮助优化此SQL查询。SQL查询查找表记录是同一表的一部分

我有一个表叫Student有以下栏目:

id; Department_Name; Parent_Department

值如:

id Department_Name Parent_Department 
1  IT_CS  
2  IT_BP  
3  IT_NP  
4  IT1    1  
5  IT2    1  
6  IT3    3  
7  IT4  
8  IT9    2 

我需要的是让从表中的所有id其中parent_department = IT_CS; 为了这个,我正在写2查询

  1. select id from student where Department_Name ='IT_CS';

  2. select id from student where parent Parent_Department =Id从上面的查询进账;

有没有更好的方法来做到这一点?

回答

0

您可以使用加入这样

select id,Department_Name,Parent_Department 
from student as a 
inner join student as b on a.parent_Department= b.id 
where b.Department_Name='IT_CS' 
0

自连接语句是专门为了这个目的,

SELECT * 
FROM STUDENT S 
JOIN STUDENT S1 ON S.PARENT_DEPARTMENT = S1.ID 
WHERE S1.DEPARTMENT_NAME = 'IT_CS' 
相关问题