mysql - 查找没有匹配结果 SQL 的所有行

标签 mysql select join left-join

我有一个表,其中包含我公司员工的名字和姓氏,以及一个确定他们是否仍在为公司工作的字段。

我有另一个表,其中包含员工的任务列表 - 它还包含两个字段,其中包含员工的名字和姓氏(- 是的,我知道这不是一个好的结构)。

我希望能够使用 MySQL 查询找到仍在为公司工作但没有任务的所有员工。

有什么想法吗?

最佳答案

SELECT *
FROM employees
WHERE still_working_for_company
AND NOT EXISTS (
  SELECT TRUE
  FROM tasks
  WHERE tasks.firstname = employees.firstname
  AND tasks.lastname = employees.lastname
)

关于mysql - 查找没有匹配结果 SQL 的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14126007/

相关文章:

sql - 所有这些 SQL 连接在逻辑上都是等价的吗?

mysql - 如何根据值连接不同的表

从 GETTEXT 获取的 C++ 变量作为 mysql_query 变量

php - 调用变量 php/mysql

mysql - mysql中的多重选择结构

sqlite INSERT INTO ... WHERE NOT EXISTS 并获取 id?

list - 填充g:从查询中选择

python - 从列表中提取某些元素

php - laravel 5.4 中的三个加入和分组

mysql - 如何从其他表中获取名称为 "same"的所有值的客户