配置单元从查询中排除值

9wbgstp7  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(432)

我有一些数据

name        state
mary        florida
mary        NULL
john        alabama
mary        NULL
salt        texas

我想抓取结果,不包括玛丽的空状态。当我尝试的时候

select name, state from my table where (state is not null and name = 'mary')

这只会给我所有的玛丽的,有一个连接到它的状态。
我期待的结果是

name        state
mary        florida
john        alabama
salt        texas
qhhrdooz

qhhrdooz1#

选择除name='mary'以外的所有状态为空的项:

select name, state from my table where NOT (state IS NULL AND name = 'mary');

或者根据德摩根定律(连词的否定就是否定的析取):

select name, state from my table where (state IS NOT NULL) OR (name != 'mary');

相关问题