从SQL查询中排除组合

从SQL查询中排除组合,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有一个简单的SQL查询 SELECT NAME, FAMILY_NAME, AGE, SALARY, LOCATION FROM TABLE WHERE AGE > 34 and SALARY > 40000 这个很好用。但是,我希望排除NAME='ROBERTO'和FAMILY_NAME='D_SILVA'的所有条目。我该怎么做 我试图对NAME和FAMILY_NAME施加不相等,但这排除了所有条目,即NAME=Roberto或FAMILY_NAME='D_SILVA'通过使用

我有一个简单的SQL查询

SELECT NAME, FAMILY_NAME, AGE, SALARY, LOCATION
FROM TABLE
WHERE AGE > 34 and SALARY > 40000
这个很好用。但是,我希望排除NAME='ROBERTO'和FAMILY_NAME='D_SILVA'的所有条目。我该怎么做


我试图对NAME和FAMILY_NAME施加不相等,但这排除了所有条目,即NAME=Roberto或FAMILY_NAME='D_SILVA'

通过使用括号,可以组合过滤器。通过嵌套下面显示的这些过滤器(通过添加括号),并在过滤器之间放置“and”关键字,您可以确保这两个条件都必须为真

SELECT [NAME], [FAMILY_NAME], [AGE], [SALARY], [LOCATION]
FROM [dbo].[TABLE]
WHERE [AGE] > 34 
AND [SALARY] > 40000
AND NOT ([NAME] = 'ROBERTO' AND [FAMILY_NAME] = 'D_SILVA')

我建议您阅读更多关于

的内容,您想排除所有这些都是真的,还是任何一个都是真的?您还可以显示示例数据和所需结果。但是你已经用英语写了你想排除的东西,所以把它翻译成SQL
和not(NAME='ROBERTO'和FAMILY_NAME='D_SILVA')
,或者可能是
而不是我前面所说的
。对你的答案如何运作的一些解释将极大地支持这个答案。OP应该能够从中学习,而不仅仅是复制/过去,并为它的工作感到高兴