select * from t1 where 1=1
等效于
select * from t1
前者where 1=1必然为真,此判断为画蛇添足,属于无用功、徒增系统开销。
如果只需要查看数据表字段信息无需查看具体记录,那么下列写法将非常可取
select * from t1 where 1<>1
这样系统将直接输出空记录集,而不会花费资源检索具体的记录数据到内存中,这无疑会提高了效率。
WHERE 子句用于规定选择的标准。WHERE 子句:如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。语法 SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
where 1,where 2,where 1=0,where 1=1,where 1=2,这些跟查询的"列"没有任何关系,但是查询的结果必须满足‘where’字句的条件;where 1和where 2 相当于 where true 是永恒成立的(不是所有数据库都成立,在Oracle中必须写成where 1=1),也就相当于没有查询条件;where 1=0,where 1=1,where 1=2 首先要判断条件书否成立?如where 1=1相当于where true显示所有行,而where 1=0则不显示任何行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)