我有一张表'Staff',其中包含所有员工的详细信息。包括'StaffID'。
然后我有一个'StaffRole'表,它有'StaffID'和'RoleID'
我想做这样的事情:Select * From Staff Where RoleID=1;
但是我不确定我是否可以这样做,因为RoleID不在Staff表中。
有人知道正确的语法吗?任何反馈都表示赞赏。
答案 0 :(得分:2)
试试这个:
SELECT * FROM staff s
WHERE EXISTS(
SELECT 'ROLE'
FROM staffrole r
WHERE r.staffid = s.staffid
AND r.roleid = 1
)
另类:
SELECT * FROM staff s
JOIN staffrole r
ON r.staffid = s.staffid
WHERE r.roleid = 1
答案 1 :(得分:2)
使用联接:
select s.*
from staffrole r
join staff s
on s.staffid = r.staffid
where roleid = 1
staffrole(roleid)
上的索引应该会让它表现得更好。