我有两个表:
employees
:
id, CMS_user_id, practice_group_id, ...
和
users
:
id, level, ...
我想选择practice_group_id
为2的所有员工,但仅当相应的用户根据users
表的level
为1时。我研究了一下,我有一种感觉,它最终与UNION
关键字有关,但我不能完全弄清楚。
在"人类语言"中,查询应该是这样的:select all fromemployees
wherepractice_group_id
= 2,然后检查雇员的CMS_user_id
,在表users
中检查id
等于CMS_user_id
的相应用户的level
是否为1
JOIN
将匹配两个表之间相应的行。然后,可以使用WHERE
进行过滤。
例如:
select e.*
from employees e
join users u on u.id = e.CMS_user_id
where e.practice_group = 2 and u.level = 1