!=,所以建议用<>



selece * from jb51 where id<>45

sql 里 符号<> 于 != 的区别
<> 与!=都是不等于的意思,但是一般都是用<>来代码不等于因为<>在任何SQL中都起作用但是!=在sql2000中用到,则是语法错误,不兼容的
 sql中的等于和不等于, '=' ,'!=','<>','is null'....
 不等于:<> ,!=,~= ,^= 这四个符号据说都可以在oracle中表示不等于,但是试了之后发现<> ,!= ,^=是可以的,~=不行,需要注意的是,只有<>是标准的sql语法,可以移植,其他的都是oracle平台的特性,移植性较差,所以开发中,尽量使用<>表示不等于 等于:=不用多说,但是要进行null的等于判断时,须使用is null 或is not null,null只能通过is null或者is not null来判断,其它操作符与null操作都是false。
 例子,select * from bl_ip_dt where amount <> 800,这条语句查不出amount等于null 的记录,
 select * from bl_ip_dt where amount <> 800 or amount is null 才是可以的MySql的简单查询不等于NULL
 查询表中aa是null的数据:
select * from table where aa is null;
 查询表中aa不等于1的数据:
select * from table where aa <> 1;
 NULL值操作:
 NULL值可能令人感到奇怪直到你习惯它。概念上,NULL意味着“没有值”或“未知值”,且它被看作与众不同的值。为了测试NULL,你不能使用算术比较 操作符例如=、<或!=。为了说明它,试试下列查询:
 mysql> SELECT 1 = NULL, 1 <> NULL, 1 < NULL, 1 > NULL;
 +----------+-----------+----------+----------+
 | 1 = NULL | 1 <> NULL | 1 < NULL | 1 > NULL |
 +----------+-----------+----------+----------+
 |     NULL |      NULL |     NULL |     NULL |
 +----------+-----------+----------+----------+
 很显然你不能通过这些比较得到有意义的结果。相反使用IS NULL和IS NOT NULL操作符: mysql> SELECT 1 IS NULL, 1 IS NOT NULL;
 +-----------+---------------+
 | 1 IS NULL | 1 IS NOT NULL |
 +-----------+---------------+
 |         0 |             1 |
 +-----------+---------------+
 请注意在MySQL中,0或 NULL意味着假而其它值意味着真。布尔运算的默认真值是1。自我感觉is null或者IFNULL(SUM(),XXX)在开发中经常用到。
 另外在php中 <> 和 != 都是可以用的
 $a == $b 等于 TRUE,如果 $a 等于 $b。 
 $a === $b 全等 TRUE,如果 $a 等于 $b,并且它们的类型也相同。(PHP 4 引进) 
 $a != $b 不等 TRUE,如果 $a 不等于 $b。 
 $a <> $b 不等 TRUE,如果 $a 不等于 $b。 
 $a !== $b 非全等 TRUE,如果 $a 不等于 $b,或者它们的类型不同。(PHP 4 引进) 
 $a < $b 小与 TRUE,如果 $a 严格小于 $b。 
 $a > $b 大于 TRUE,如果 $a 严格 $b。 
 $a <= $b 小于等于 TRUE,如果 $a 小于或者等于 $b。 
 $a >= $b 大于等于 TRUE,如果 $a 大于或者等于 $b.