首页 > 解决方案 > 不包括数据的数据库 SQL

问题描述

加入 2 个表时,我在获取数据时遇到问题,JOB并且Application.

Job表有 id、title 和 description,而该Application表有 id、application 和 job_id。

我想显示申请人尚未申请的工作

ID   TITLE               DESCRIPTION
--------------------------------------
2    web developer       some text
3    web designer        some text
4    project manager     some text

ID   applicant  job_id
-----------------------
1       28        2
2        1        2
3        1        3

所以我尝试了这个查询:

select 
    job.id, job.title ,job.description 
from 
    `job` 
left join 
    `application` on `job`.`id` = `application`.`job` 
where 
    `application`.`applicant` != 28 
    or `application`.`applicant` is null

但这只会返回所有工作。

标签: sql

解决方案


您可以使用NOT IN. 所以,代码应该看起来像给定的打击 =>

SELECT job.id, job.title ,job.description FROM JOB 
WHERE ID NOT IN (SELECT job_id FROM Application);  

推荐阅读