Re: Selecte nd NULLs

  • From: MARK BRINSMEAD <mark.brinsmead@xxxxxxxxx>
  • To: James.Clarence.Allen@xxxxxxxxxx
  • Date: Wed, 25 Mar 2015 11:35:18 -0400

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/
>
>
>

Other related posts: