sql 语句问题

1,sql 语句中的 id<>0 这个"<>" 是什么意思
2,有的句子会有这种情况 where 1=1 ,不什么要有1=1,有用么
where 1=1 和没有这个 1=1 有什么不同?

1.当然就是不等于的意思。还可以用!=表示。
2.SELECT * FROM TABLENAME where 1=1 表示取全部记录。
其实与无条件时(SELECT * FROM TABLENAME),是一样的效果。
但时有时候,比如在需要动态生成查询语句时,为了格式的一致性和通用性,必需要出现WHERE子句,而又要选择全部记录时,条件就可以给1=1,即条件为真。

==================
where 1=1 和没有这个 1=1 有什么不同?
答:
WHERE 子句后面必须要有条件。
所以,当有WHERE 时,要想显示全部记录,就须使用1=1或2=2之类的结果为真的条件表达式。
就是说:
有WHERE 1=1或没有where 1=1是一样的。
但是有WHERE时,后面有没有1=1就不一样了,因为
SELECT *FROM TABLENAME WHERE
这个语句缺少条件。会报错。
SELECT *FROM TABLENAME WHERE 1=1才是对的

SELECT *FROM TABLENAME 与上面语句输出效果相同。但动态生成SQL语句时前者会更方便和通用一些。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-10-06
<>是不等于的意思
1=1条件永远成立。。给你说个最简单的sql脚本攻击
在需要用户名和密码登陆的用户名文本框里输入
1’ or 1=1--
就是让条件永远成立了。。一般sql里很少这么写
第2个回答  2008-10-07
1,id<>0的意思是说id不等于0
2,这句话的可以不写,就是让查询的条件永远用真

1=1没意义
第3个回答  2008-10-06
<> 和 != 一个意思表示不等于

1=1 这种条件只是为了让条件在数学领域永远为真,也就是总是满足了
相似回答