MySQL 子查询 - MySQL 3.23

标签 mysql subquery

我有 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,......).

我正在尝试从没有输入 passport_details 的 emp_master 获取 emp_id 和 first_name。

我尝试了不同的子查询组合,使用了 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);

我遇到了错误

You have an error in your SQL syntax near 'SELECT emp_id FROM passport_details WHERE status=1)' at line 3

我使用的是 MySQL 3.23。

我的问题是

  1. Do MySQL 3.23 supports SubQueries?
  2. What could be the optimal query to fetch emp_id and first_name from emp_master who have not entered 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

我没有要测试的 3.23 实例,但这应该可以。

关于MySQL 子查询 - MySQL 3.23,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11322484/

相关文章:

mysql - SQL查询-使条件成为条件?

php - 根据id和timestamp从两个表中选择

MYSQL 插入查询不起作用显示错误 "Database_Exception [ 1241 ]: Operand should contain 1 column(s)"

php - PHP 并行计算的数据库架构最佳实践?

使用 MIN 和子查询的 MySQL 挑战

SQL表子查询

mysql - 插入 ... 在重复 key 更新时

mysql - 当我尝试显示一列的计数值时,它会计算编号。存储在同一个表的同一行的单个单元格中的数组的数量

MySQL 将多个表(外键)的数据组合成一个数组

mysql - 将 SELECT 中的相关子查询重写为 JOIN 语句