我有2张桌子,emp_master和passport_details.
emp_master(emp_id,first_name,email_id,dob,doj,status.........)
passport_details(id, emp_id,passport_number,given_name,......).
Run Code Online (Sandbox Code Playgroud)
我正在尝试从未输入passport_details的emp_master中获取emp_id和first_name.
我尝试了不同的SubQueries组合,使用NOT IN,NOT EXISTS.
SELECT emp_id,first_name
FROM emp_master
WHERE emp_id NOT IN(SELECT emp_id FROM passport_details WHERE status=1);
Run Code Online (Sandbox Code Playgroud)
我收到了错误
You have an error in your SQL syntax near 'SELECT emp_id FROM passport_details WHERE status=1)' at line 3
Run Code Online (Sandbox Code Playgroud)
我正在使用MySQL 3.23.
我的问题是
- MySQL 3.23支持SubQueries吗?
- 什么可能是从emp_master中获取emp_id和first_name的最佳查询,这些查询尚未输入passport_details.
select em.emp_id, em.first_name
from emp_master em left join passport_details pd
on pd.emp_id = em.emp_id and pd.status = 1
where pd.emp_id is null
Run Code Online (Sandbox Code Playgroud)
我没有要测试的3.23实例,但这应该可行.