SELECT列,除了从文件加载的值



假设我有一个表Table1:

|Column1|Column2|Column3|
|1      |25     |a      |
|2      |48     |a      |
|3      |25     |b      |
|4      |25     |d      |
|5      |16     |e      |

和我有命令:

"SELECT Column1 FROM TABLE1 WHERE Column2 = 25)";

现在输出是:

1
3
4

现在我想做同样的事情,但如果column3 = a,那么不选择该行,所以输出现在是:

3
4

现在我想从txt文件中加载A,但在该文件中会有更多的值(A, b, d, g, u…)

所以基本上我想要

SELECT [columns] FROM [table] WHERE [column1] = 1 EXCEPT [column2] = [values from txt]

我只需要逻辑命令,我知道其他的一切。

Add AND [column2] NOT IN [values from txt]:

SELECT [columns] FROM [table]
WHERE [column1] = 1 AND [column2] NOT IN  (a, b, d, g, u...)

如果您熟悉UNION,那么知道EXCEPT以非常相似的方式工作,例如,两个表表达式必须具有相同数据类型的相同列数,从左到右顺序等。

SELECT [columns]
  FROM [table]
 WHERE [column1] = 1 
EXCEPT
SELECT [columns]
  FROM [table]
 WHERE [column2] = [values from txt]

你使用EXCEPT的方式更像SQL的WHERE..ALL语法,例如:

SELECT [columns]
  FROM [table]
 WHERE [column1] = 1 
       AND [column2] <> ALL ( SELECT [values from txt] FROM ?somewhere? );

相关内容

  • 没有找到相关文章

最新更新