簡體   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