我正在使用Oracle 10g,并试图从一个表中选择不使用set操作符在查询中出现在其他表中的行。SQL集合运算符 - 从具有不同列的表中选择行
我试图从这些行不出现在job_history
表的employee
表中选择id
,last_name
和first_name
列。
这两个表中唯一的共同列是id
列。但我也想显示这些名字。
我曾尝试:
SELECT
id, last_name, first_name
FROM
employees
MINUS
SELECT
id, TO_CHAR(null), TO_CHAR(null)
FROM
job_history;
不产生期望的结果。
但是,如果我不想从EMPLOYEE表中显示的名字,我用:
SELECT id FROM employees
MINUS
SELECT id FROM job_history;
这给了我结果的一半,除了那我想从雇员表中的姓名。
有什么建议吗?
这为我产生了正确的结果。你能否提供一个关于'x on x.id = a.id'的解释?我从来没有遇到过这种语法。 – ethane
是的..当然.. x是使用子查询创建的表的别名..并且x.id = a.id是表员工(别名a)和子查询表之间的连接子句.. hope很清楚..否则..再问我一次 – scaisEdge
太棒了!清除它,谢谢。 – ethane