有时候为了提高效率,只是为了测试下某个表中是否存在记录,就用1来代替。
例如我的student 中 有学生信息表,我只想知道里面有没有数据并不在乎数据是哪些,就可以
select 1 from student ,这样大大提高查询速度,选出100行个1,说明有100条学生信息。
常搭配 exists方法当条件使用。
select * from table where 1=1中的1=1是什么意思?
就是条件为真的意思,就这条语句来说就等同于select * from table(1=1就是条件为真)
select * from table where 1=1这样写一般是编程时查询语句有判断拼接条件时用的
如 :
str=“select * from table where”;
if(a=1){str=str+" user=abc";}
if(b=1){str=str+" and pass=123";}
当IF条件成立时select * from table where and user=abc and pass=123
这是条可以执行的语句
select 1 from table;与select anycol(目的表集合中的任意一行) from table;与select * from table 从作用上来说是没有差别的,都是查看是否有记录,一般是作条件查询用的。select 1 from 中的1是一常量(可以为任意数值),查到的所有行的值都是它,但从效率上来说,1>anycol>*,因为不用查字典表。