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