SQL uses a three-value logic system, where any "boolean" expression can return *TRUE*, *FALSE*, or *NULL*. Any comparison against a NULL value (including NULL=NULL or NULL!=NULL) will return NULL, never TRUE nor FALSE. Your SQL "select" statement will only return rows for which the predicates generate the value *TRUE*. This is a fundamental property of SQL (that is, it is expected/required to be so in *any* implementation of SQL) and has nothing whatsoever to do with Oracle, or SQLserver, or MySQL, or DB2, or ... On Wed, Mar 25, 2015 at 10:03 AM, James Clarence Allen (CENSUS/EPD FED) < James.Clarence.Allen@xxxxxxxxxx> wrote: > Someone, > > > I am doing a simple select. > > > SQL>select distinct dbname from mytable where cluster != 'orrac1'; > > > I have a three column table "mytable" (dbname,sid,cluster). The table > contains 206 total rows/136 rows with distinct dbname. No indices are on > the table. > > > Some dbnames are not in a cluster (single server) so the cluster column > is null. > > > When I run the select above the rows with the null in cluster column > are not returned. > > > Shouldn't all rows be turned except what I am filtering out? > > > Sincerely, > > *Jim Allen* > Database Support Lead, MASSDB Staff > > Schedule: Mon-Fri, 7:00am-3:30pm > Tel: 1-301-763-7501 > > Cell: 1-202-604-7286 > Database Help Desk: X34944 > Support Email: James.Clarence.Allen@xxxxxxxxxx > Internal Website: http://epd.econ.census.gov/offices/massdb/ > > >