我有一个表A,其中一列名为a,文件“test.txt”包含:
111111AAAA
222222BBBB
3333DDDDDD
.....
test.txt中的记录与“a”列具有相同的类型。 除了“test.txt”中的记录外,如何从A中选择全部?
更新 我尝试了3种方法,结果不相同。太奇怪了!
// 7073 records -- Using NOT IN
SELECT * from mt_users WHERE TERMINAL_NUMBER_1 NOT IN (SELECT TERMINAL_NUMBER FROM A);
// 7075 records -- Using NOT EXISTS
SELECT * from mt_users WHERE NOT EXISTS (SELECT 1 FROM A WHERE A.TERMINAL_NUMBER = mt_users.TERMINAL_NUMBER_1);
// 7075 records -- Using LEFT JOIN
SELECT * FROM mt_users m LEFT JOIN A a ON m.TERMINAL_NUMBER_1 = a.TERMINAL_NUMBER WHERE a.TERMINAL_NUMBER IS NULL;
答案 0 :(得分:1)
第1步。将test.txt中的记录放入不同的表格中。
第2步。
SELECT a from tableA WHERE a NOT EXISTS (SELECT a FROM newTable)
答案 1 :(得分:1)
SELECT a FROM A WHERE a NOT IN(...)
您必须在创建查询的代码中生成()的内容
答案 2 :(得分:1)
首先将文件中的所有记录放入newTable
,并确保每个字段的开头或结尾没有其他空格。
select a from tableA t where not exists(select 1 from newTable n where n.a = t.a)