2017-06-22 29 views
0

有没有办法在Informix的数据库来比较两个相同的表和检索鉴别行?比较两个相同的表和检索差排

考虑下面的表中,其中ID是主键。

TABLE A  

ID NAME EMAIL    PROFILE 
a1 ABC  [email protected]  student 
a2 XYZ  [email protected]  student 
a3 LMN  [email protected]  Staff 

TABLE B 

ID NAME EMAIL    PROFILE 
a1 ABC  [email protected]  student 
a2 XYZ  [email protected]  student 
a3 LMN  [email protected]  student 

请帮我制定的SQL来检索表A未与表B.匹配的行

输出应该是:

ID NAME EMAIL    PROFILE 
a3 LMN  [email protected]  Staff 
+0

https://开头计算器.COM /问题/ 2077807/SQL查询到返回的差异之间,二,表中读取这个,可能会给你一个想法 – Kuru

+0

这是重复的 – kielou

+0

你尝试搜索?有这么多的例子已经在这里在线为您的任务 –

回答

0
SELECT * 
FROM TABLE_A 
      LEFT JOIN TABLE_B 
       ON TABLE_A.ID = TABLE_B.ID 
        AND TABLE_A.[NAME] = TABLE_B.[NAME] 
        AND TABLE_A.EMAIL = TABLE_B.ID 
        AND TABLE_A.[PROFILE] = TABLE_B.[PROFILE] 
WHERE TABLE_B.[NAME] IS NULL 
+0

注意,方括号引用符号所特有的MS SQL Server和Sybase - 其他数据库不支持它。在Informix中,列名使用“名”和“个人资料”不会造成任何问题,不带引号。 –

+0

感谢Simone&Jonathan –