假设我们有两张桌子
student
( studentID ,姓名,department_ID)
department
( departmentID ,姓名)。
我们的目标是使用子查询从两个表中检索数据。我正在尝试这个
select * from department, student
where department.departmentID
IN (select student.departmentID from student, department
where student.departmentID = department.departmentID)
但它返回两个表的行数的叉积。
这可以使用JOIN
这样的
select * from department
Inner join student
on student.departmentID = department.departmentID
并使用像这样的WHERE
子句
select * from department, student
where department.departmentID = student.departmentID
我想知道是否有人可以告诉我如何在SQL中使用子查询。
答案 0 :(得分:0)
希望这会有所帮助:
select *, (select name from department d where s.departmentID = d.departmentID) as dname
from student s
where (select name from department d where s.departmentID = d.departmentID) is not null
然而,这个问题意味着使用连接来解决。要学习subQ,请使用适当的示例。
SQL小提琴:Test