[英]MySQL Select values in table depending on another table
我有一张“职员”表,上面有所有职员的详细信息。 包含“ StaffID”。
然后我有一个表“ StaffRole”,其中有“ StaffID”和“ RoleID”
我想做这样的事情: Select * From Staff Where RoleID=1;
但是我不确定是否可以执行此操作,因为StaffID中没有RoleID。
有人知道正确的语法吗? 任何反馈表示赞赏。
尝试这个:
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
使用联接:
select s.*
from staffrole r
join staff s
on s.staffid = r.staffid
where roleid = 1
在staffrole(roleid)
上的索引应该使其性能更好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.