在项目中看到有select 1 from的语句,不知道什么含义,所以网上查了一下。
select 1 from table
select anycol from table -- anycol表示目的表集合中的任意一行
select * from table
以上这三句,从作用上来说是没有差别的,都是查看是否有记录,一般是作条件查询用的。
select 1 from 中的1是一常量(可以为任意数值),查到的所有行的值都是它,但从效率上来说,1>anycol>*,因为不用查字典表。
select 1 主要有以下应用:
1. 增加临时列,每行的列值为写在select后的常数。
select 1 from table
2. 统计table表的行数
select count(1) from table