SQL查询以查找属于同一表的表记录
我需要帮助来优化这个SQL查询 我有一个名为SQL查询以查找属于同一表的表记录,sql,oracle,Sql,Oracle,我需要帮助来优化这个SQL查询 我有一个名为Student的表,其中包含以下列: id;部门名称;家长部门 价值观,例如: id Department_Name Parent_Department 1 IT_CS 2 IT_BP 3 IT_NP 4 IT1 1 5 IT2 1 6 IT3 3 7
Student
的表,其中包含以下列:
id;部门名称;家长部门
价值观,例如:
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\u department=IT\u CS;
为此,我写了两个查询
从学生处选择id,该学生所在的系_Name='IT_CS'代码>
从上述查询中获取的父/母部门=id的学生中选择id
有更好的方法吗?您可以这样使用join
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'
自连接语句专门用于此目的
SELECT *
FROM STUDENT S
JOIN STUDENT S1 ON S.PARENT_DEPARTMENT = S1.ID
WHERE S1.DEPARTMENT_NAME = 'IT_CS'