这是一个示例表:
A | B
----------
DF RUI
EF RUI
AF FRO
EF FRO
我想得到除WHERE(A ='EF'和B ='RUI')之外的所有结果:
A | B
----------
DF RUI
AF FRO
EF FRO
但是没有子查询可以做到这一点吗?
编辑:
我添加了一些额外的结果来展示我想要的东西。如果A = EF或B = RUI,我想得到结果但是如果A = EF AND B = RUI
我不想得到结果答案 0 :(得分:1)
SELECT A, B FROM table WHERE NOT (A = 'EF' AND B = 'RUI')
或
SELECT A, B FROM table WHERE (A <> 'EF' OR B <> 'RUI')
where子句本质上是一个布尔表达式,所以你可以做任何你习惯的布尔变换(如果它涉及NULL值,它会有点复杂,我假设你的例子不是这种情况) ;如果是,您可能需要添加一些额外的规则或检查SQLs terinary logic下的行为。
答案 1 :(得分:1)
如果我理解正确的话。 。
select * from your_table
where not (A = 'EF' and B = 'RUI');
答案 2 :(得分:1)
只需在where子句:
前添加NOT
条件
SELECT A,B FROM table_name
WHERE NOT (A = 'EF' AND B = 'RUI')
答案 3 :(得分:0)
Select * from SAMPLETABLE where A <> 'EF' OR B <> 'RUI';
答案 4 :(得分:0)
SELECT A, B FROM table WHERE (A = 'EF' XOR B = 'RUI')