繁体   English   中英

MySQL根据另一个表选择表中的值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM