gpt4 book ai didi

SQL 语句 - 排除某些数据

转载 作者:行者123 更新时间:2023-12-02 02:00:18 26 4
gpt4 key购买 nike

我仍处于 SQL 语句的学习阶段,希望有人能提供帮助。

我有一个多对多的数据库基础关系。

Department 表可以关联多个 Job,并且 Job 可以关联到多个 Department。所以我有这种基本的关系类型。

Job.ID (one-to-many) Jobs.JobID
Jobs.DepartmentID (many-to-one) Department.ID

我想要做的是获取尚未与部门相关联的职位列表。

tbl=Job
ID Job Active
1 10-3242 Yes
2 12-3902 Yes
3 12-3898 Yes

tbl=Jobs
ID DepartmentID JobID
1 3 1
2 3 2

tbl=Department
ID Department
1 Administration
2 Sales
3 Production

查询:

string sql = "SELECT Job FROM (Job " +
"INNER JOIN Jobs ON Job.ID = Jobs.JobID) " +
"INNER JOIN Department ON Jobs.DepartmentID = Department.ID " +
"WHERE Department.Department <> 'Production'";

我期待工作代码 12-3898 返回,但显然我忘记了什么。

任何帮助都会很棒。干杯。

最佳答案

您可以使用 LEFT JOIN . LEFT JOIN 关键字返回左表中的所有行以及右表中的匹配行。如果没有匹配,则结果在右侧为 NULL。由于您想要没有匹配部门的工作,您可以检查加入的 DepartmentID 是否为 NULL:

SELECT Job.Job
FROM Job LEFT JOIN Jobs ON Job.ID = Jobs.JobID
WHERE Jobs.DepartmentID IS NULL;

结帐 this demo .让我知道它是否有效。

关于SQL 语句 - 排除某些数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17560295/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com