我必须在emp_mtg ='141'上的empmtg表中查询emp_id,并在用户表中输入名称,我需要在同一查询中获得该名称。

SELECT emp.emp_id,mast.name
FROM empmtg emp,users mast
WHERE emp.emp_mtg='141';


这需要从empmtg表中选择empid,并从用户表中选择name,条件是empmtg表中的mtg id应该为141。该表中只有5条mtg id为141的记录。但是我要获取大约1000的数据。

我也尝试过这个,但是它只产生3条记录输出

SELECT emp.emp_id,mast.name
FROM empmtg emp,users mast
WHERE emp.emp_mtg='141' and emp.emp_id=mast.id


然后我去参加

SELECT emp.emp_id,mast.name
FROM empmtg emp
LEFT JOIN users mast
ON emp.emp_id=mast.id
WHERE emp.emp_mtg='141';


这将产生5条记录的输出,但是名称全为空。我在用户表中检查了名称是否不为空

我有一个答案选择内部选择,我认为这不是正确的方法。但是我不喜欢这样查询。但是产生了预期的结果。

谁能帮助我寻求更好的解决方案。

最佳答案

 SELECT emp.emp_id,mast.name
 FROM  empmtg emp
 left JOIN  users mast
 ON emp.emp_id=mast.id
 WHERE emp.emp_mtg = 141;


这里是working demo

10-01 23:59