select 1 from table 语句中的1代表什么意思

在这里我主要讨论的有以下几个select 语句:

doo_archive表是一个数据表,表的行数为4行,如下:

分别用三条select语句select  1 from doo_archive、select count(1)  from doo_archive、select
sum(1) from doo_archive进行测试,发现结果如下:

1:测试结果,得出一个行数和doo_archive表行数一样的临时列,每行的列值是1,如下:

2:得出一个数,该数是doo_archive表的行数4,如下:

3:得出一个数,该数是doo_archive表的行数4,如下:

然后我又用select  2 from doo_archive、select count(2)  from doo_archive、select sum(2) from doo_archive测试,结果如下:

1:得出一个行数和doo_archive表行数一样的临时列,每行的列值是2;

2:得出一个数,该数是doo_archive表的行数;

3:得出一个数,该数是doo_archive表的行数×2的数。

然后我又用select  10 from doo_archive、select count(10)  from doo_archive、select sum(10) from doo_archive测试:

1:得出一个行数和doo_archive表行数一样的临时列(10),每行的列值(10)是我写在select后的数;

2:还是得出一个数,该数是doo_archive表的行数(4);

3:得出一个数,该数是doo_archive表的行数(4)×写在select后的数(10),即40.

综上所述:我发现第一种的写法是增加临时列,每行的列值是写在select后的数;第二种是不管count(a)的a值如何变化,得出的值总是table表的行数;第三种是计算临时列的值乘以表的行数。

时间: 2024-11-04 03:00:09

select 1 from table 语句中的1代表什么意思的相关文章

select 1 from ... sql语句中的1解读

摘自:http://blog.csdn.net/zengcong2013/article/details/48224509 select  1 from ..., sql语句中的1代表什么意思?查出来是个什么结果?         select 1 from table;与select anycol(目的表集合中的任意一行) from table;与select * from table 从作用上来说是没有差别的,都是查看是否有记录,一般是作条件查询用的.select 1 from 中的1是一常

Mysql Create Table 语句中Date类型

Mysql创建语句中的数据类型包括时间类型,有一下几类: | DATE  | TIME[(fsp)]  | TIMESTAMP[(fsp)]  | DATETIME[(fsp)]  | YEAR 这几个类型中,特别值得注意的是DATE,DATETIME,TIMESTAMP有什么区别? DATE mysql> select get_format(date,'ISO');     +------------------------+ | get_format(date,'ISO') | +-----

innodb table level lock 与lock table语句关系

DDL语句只申请意向级别的表锁.在lock table语句中,mysql会申请mysql级别表锁,同时innodb也会申请innodb级别表锁.前提是innodb_table_locks=1 https://www.percona.com/blog/2012/07/31/innodb-table-locks/ MySQL Table level locks and Innodb Table Levellocks are two separate beings. You almost never

查询语句中select from where group by having order by的执行顺序

查询语句中select from where group by having order by的执行顺序 1.查询中用到的关键词主要包含六个,并且他们的顺序依次为 select--from--where--group by--having--order by 其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序 与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行 from--where--group by--having--select--order by,

sql的基础语句-select语句中出现的操作符号

2. select语句中出现的操作符号 2.1 合并操作符select a.ename||' '||to_char(sal) from emp a; 2.2 消除重复的行 select distinct deptno from emp; 2.3 空格.空串.null的区别 select ascii(' '),ascii(null),ascii('') from dual; 区别:  从显式上看,空串跟null在数据库中存储的值是一样的,但是NULL可以赋给任何数据类型,而空串只能赋给字符串类型

join和on语句中select语句选择公共列的区别

对多个表进行join时,在select语句中,如果使用using语句,则using语句中选中的列,在select语句中不能指定限定词,否则会报ORA-25154 查看emp表 SQL> select * from emp; EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO ----- ---------- --------- ----- ----------- --------- --------- -

SQL SERVER SELECT语句中加锁选项的详细说明 [转]

SQL Server提供了强大而完备的锁机制来帮助实现数据库系统的并发性和高性能.用户既能使用SQL Server的缺省设置也可以在select 语句中使用“加锁选项”来实现预期的效果. 本文介绍了SELECT语句中的各项“加锁选项”以及相应的功能说明. 功能说明: NOLOCK(不加锁) 此选项被选中时,SQL Server 在读取或修改数据时不加任何锁. 在这种情况下,用户有可能读取到未完成事务(Uncommited Transaction)或回滚(Roll Back)中的数据, 即所谓的“

【MYSQL】update/delete/select语句中的子查询

update或delete语句里含有子查询时,子查询里的表不能在update或是delete语句中,如含有运行时会报错:但select语句里含有子查询时,子查询里的表可以在select语句中. 如:把总成绩小于100的学生名称修改为天才 select stu_id from score group by stu_id having sum(grade)<100; #查询总成绩小于100的学生IDupdate students set name='天才' where id in (select s

MySql语句中select可以嵌套么,字段的重命名可以用中文么

今天文档中看到的查询语句,SELECT后面又跟了一个SELECT嵌套,而且把字段重命名为中文,请问可以这样做么 MySql语句中select可以嵌套么,字段的重命名可以用中文么 >> mysql 这个答案描述的挺清楚的:http://www.goodpm.net/postreply/mysql/1010000007432443/MySql语句中select可以嵌套么字段的重命名可以用中文么.html