2012-01-12 51 views
5

我有两个表,并想在sqlite的这样比较两个表中的SQLite

table1   table2 
field1   field1 

a     a 
b     d 
c     f 
d     g 
e 
f 
g 
h 
i 

比较行,我想生产造成这样

result_table 
field1 

b 
c 
e 
h 
i 

如何在源码的语法? 感谢

+0

可能重复的[如何区分两个表](http://stackoverflow.com/questions/2819151/how-to-differentiate-two-tables) – 2012-01-12 07:38:24

回答

7
SELECT DISTINCT Field1 
FROM Table1 
WHERE Field1 Not IN 
    (SELECT DISTINCT Field1 FROM Table2) 
+0

感谢约翰,它的工作原理。 – kuslahne 2012-01-12 07:49:40

3
SELECT columns1 FROM table1 EXCEPT SELECT columns2 FROM table2; 

SQLite的EXCEPT子句返回从左边SELECT语句不在第二个SELECT语句的结果中的所有行。在两个SELECT语句中选择的列数必须相同。

这适用于中小型的表格。避免使用数百万行的表格。

请参阅Compound Select Statements以及SQLite SELECT声明的文档。

+0

向你的代码添加一些解释将有助于使它成为更好的答案。 – NathanOliver 2015-07-22 15:34:43