【发布时间】:2017-04-30 02:30:54
【问题描述】:
我想弄清楚如何解决这个问题。
选择曾为 IBM 和 Microsoft 工作过的候选人。
与数据库关联的表包括
Candidate(Id,Name)
Company(Id,Name)
hasWorkedFor(CandidateId,CompanyId)
其中 CandidateId 和 Company Id 是 Candidate 表和 Company 表的外键。
我得到的查询是:
SELECT Candidate.Name
FROM Candidate x, Candidate y, Company c1, Company c2, hasWorkedFor
WHERE x.Id = Id
AND c1.Id = CompanyId
AND c1.Name = "Microsoft"
AND c2.Id = CompanyId
AND c2.Name = "IBM";
任何帮助将不胜感激。
【问题讨论】:
-
我删除了不兼容的数据库标签。请仅使用您真正使用的数据库进行标记。而且——关于正确行事的话题——从不在
FROM子句中使用逗号。 -
Bad habits to kick : using old-style JOINs - 旧式 逗号分隔的表格列表 样式已替换为 ANSI 中的 proper ANSI
JOIN语法-92 SQL 标准(25 年前),不鼓励使用它