SQL查询 - 测试缺少人名

时间:2011-12-05 10:18:51

标签: sql

如何测试某个字段的内容是否在我的表格中?例如,名字“安妮”。 我想写一个条件,说“如果这个名字不在我的桌子上”那么......

由于

2 个答案:

答案 0 :(得分:3)

IF NOT EXISTS (SELECT 1 FROM MyTable WHERE [Name] = 'Anne')
BEGIN
   ....
END

NOT EXISTS优于COUNT(*) = 0。后一种形式有时需要合适的索引才能表现良好(即不执行全表扫描;取决于可用的索引)。

答案 1 :(得分:0)

这取决于您是尝试将其作为过程还是简单的SQL查询/更新。米奇为前者提供了一个很好的解决方案。如果是后者,则以下是WHERE子句:

SELECT ... FROM MyTable
WHERE  NOT NameColumn = 'Anne'
AND ...

您还可以将=替换为LIKE来检查部分内容:

WHERE NOT NameColumn LIKE 'Anne%'

WHERE NOT NameColumn LIKE '%Anne%'

但请记住,LIKE会根据表格的大小和其他因素考虑性能因素。