- 浏览: 188329 次
- 性别:
- 来自: 上海
文章分类
最新评论
count()
括号中如果是列名的话则不包含NULL
如果是*字符或常量 则包括NULL
下面做几个小例子来看一下
SQL> create table test(id number,name varchar2(10));
Table created.
SQL> insert into test values(1,'wh');
1 row created.
SQL> insert into test values(2,'wo');
1 row created.
SQL> insert into test(id) values(2);
1 row created.
SQL> insert into test(name) values('ha');
1 row created.
SQL> insert into test values(null,null);
1 row created.
SQL> commit;
Commit complete.
SQL> select * from test;
ID NAME
---------- ----------
1 wh
2 wo
2
ha
SQL> select count(1) from test;
COUNT(1)
----------
5
SQL> select count(*) from test;
COUNT(*)
----------
5
SQL> select count(id) from test;
COUNT(ID)
----------
3
SQL> select count(name) from test;
COUNT(NAME)
-----------
3
如果表中没有主键,那么count(1)比count(*)快
如果有主键,那么count(主键,联合主键)比count(*)快
如果表中只有一个字段,count(*)最快
count(字段名) 不会计算 null
括号中如果是列名的话则不包含NULL
如果是*字符或常量 则包括NULL
下面做几个小例子来看一下
SQL> create table test(id number,name varchar2(10));
Table created.
SQL> insert into test values(1,'wh');
1 row created.
SQL> insert into test values(2,'wo');
1 row created.
SQL> insert into test(id) values(2);
1 row created.
SQL> insert into test(name) values('ha');
1 row created.
SQL> insert into test values(null,null);
1 row created.
SQL> commit;
Commit complete.
SQL> select * from test;
ID NAME
---------- ----------
1 wh
2 wo
2
ha
SQL> select count(1) from test;
COUNT(1)
----------
5
SQL> select count(*) from test;
COUNT(*)
----------
5
SQL> select count(id) from test;
COUNT(ID)
----------
3
SQL> select count(name) from test;
COUNT(NAME)
-----------
3
如果表中没有主键,那么count(1)比count(*)快
如果有主键,那么count(主键,联合主键)比count(*)快
如果表中只有一个字段,count(*)最快
count(字段名) 不会计算 null
发表评论
文章已被作者锁定,不允许评论。
-
oracle 查看执行计划的方式
2016-12-20 18:16 383一、通过PL/SQL Dev工具 1、直接File- ... -
pl/sql 乱码解决
2016-08-25 16:25 326select userenv('language') from ... -
使用MySQL Proxy解决MySQL主从同步延迟
2016-08-15 16:26 532使用MySQL Proxy解决MySQL主从同步延迟 ... -
分库分表
2016-07-03 12:30 534第1章 引言 随着互联网 ... -
select for update
2016-03-30 17:45 624xjr80C7HA3olbVr3y6H3t5--AcosrkB ... -
数据库超时
2016-03-07 10:37 462 -
oracle merge into
2016-03-04 16:16 423/*Merge into 详细介绍 MERGE语句是Oracl ... -
oracle 分区表
2016-03-02 14:59 426(1) 表空间及分区表的 ... -
一些注意的sql写法
2016-01-20 14:07 763Dashboard > 流程空间 > home ... -
oracle 组合索引使用
2016-01-14 20:33 892在Oracle中可以创建组合索引,即同时包含两个或两个以上列的 ... -
oracle 索引
2016-01-14 20:24 649一、 ROWID的概念 存储了row在数据文件中的具体位置: ... -
oracle 查看sql执行计划
2016-01-14 14:06 391如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划 ... -
oracle sql调优 执行计划固化 排序等 SQL Plan Baseline
2015-11-14 16:13 14211.对查询进行优化,应 ... -
oracle 字段类型 收录
2015-11-02 19:52 770字段类型 中文说明 限制条件 其它说明 CHAR 固定长度字符 ... -
oracle trunc 函数
2015-08-25 17:57 570Oracle trunc()函数的用法 --Oracle t ... -
oracle 分析函数
2015-08-03 12:49 608oracle分析函数--SQL*PLUS环 ... -
跨数据库事务研究
2015-05-12 11:16 868两种方案: 1、分布式 ... -
Oracle的悲观锁和乐观锁
2015-04-22 13:27 451为了得到最大的性能, ... -
MySQL数据库MyISAM和InnoDB存储引擎的比较
2015-04-21 13:49 488MySQL有多种存储引擎,MyISAM和InnoDB是其中常用 ... -
nosql学习
2015-04-20 09:56 5591、NoSQL数据库概念 NoSQL ...
相关推荐
1. **COUNT**: 当使用`COUNT()`函数时,`NULL`值会被忽略。例如,在题目第1题中,`where 1=2`是一个永远不成立的条件,因此查询结果集为空,对应的`COUNT(*)`结果为0。 - **选项分析**: - A. `NULL`: 错误,因为`...
`COUNT(常量)`,例如`COUNT(1)`,虽然在某些数据库系统中与`COUNT(*)`的行为相似,但并不完全相同。它通常被视为一个非空表达式,因此与`COUNT(*)`一样,会计算所有行。然而,不是所有的数据库系统都会对`COUNT(常量...
#### COUNT函数与NULL值 `COUNT`函数用于统计表中特定列的行数。根据其参数的不同,`COUNT`函数的行为也会有所不同: - `COUNT(*)`: 统计所有行的数量,包括那些包含`NULL`值的行。 - `COUNT(column_name)`: 统计...
理解Oracle如何处理NULL值是数据库管理与查询中的重要一环,尤其对于数据完整性、查询逻辑以及函数计算等方面。 1. NULL的定义: NULL不是代表“无”或“零”,而是表示数据缺失或不可用。在SQL中,NULL被视为一种...
- **Oracle** & **SQL Server**: `COUNT` - 作用:统计行数或非NULL值的数量。 3. **最大值** - **Oracle** & **SQL Server**: `MAX` - 作用:返回列中的最大值。 4. **最小值** - **Oracle** & **SQL Server...
- **MySQL**与**Oracle**: - 两者都支持使用`LIKE`进行模糊查询。 - 示例:`SELECT * FROM table WHERE field LIKE '%search_term%';` - 不过,在某些情况下,Oracle可能会使用`INSTR`函数来替代`LIKE`,以提高...
- **COUNT(1)**:在InnoDB引擎中,与COUNT(*)性能相似,都用于统计行数,包括NULL值。但在某些场景下,如统计非空特定列,COUNT(列)会更快,因为它仅计算特定列的非NULL值。 3. **索引** - **聚集索引(Clustered...
- **Oracle** 使用 `NVL` 函数处理空值,而 **SQL Server** 使用 `ISNULL` 函数。 以上仅为Oracle与SQL Server函数对比的部分内容,实际应用中,两个系统在函数的实现细节、语法糖以及性能优化上存在差异,开发者需...
【大型数据库技术-实验二 Oracle SQL PLUS环境与查询】 实验主要涵盖了Oracle数据库系统中的SQL*PLUS工具的使用以及SQL查询语言的基本操作。SQL*PLUS是Oracle数据库管理系统的命令行界面,用于执行SQL语句和PL/SQL...
2. **NULL值的影响**: 在含有NULL值的列上建立的索引,在执行`SELECT COUNT(*) FROM table`这样的查询时,Oracle通常不会使用索引。这是因为统计全表的行数不需要使用索引,直接全表扫描通常更快。 3. **函数操作**...
- **NULL 处理**:Oracle 使用 `NVL`,SQL Server 使用 `ISNULL`。 3. **日期函数**: - **日期加减**:Oracle 使用 `ADD_MONTHS` 和日期 `+/-` 操作,SQL Server 使用 `DATEADD`。 - **日期差值**:Oracle 使用...
下面将对Oracle进行详细的讲解,包括其基本概念、安装过程、客户端工具、服务管理、用户与权限、SQL数据操作和查询等方面。 1. **Oracle简介** Oracle数据库系统是由美国Oracle公司开发的关系型数据库管理系统,...
### Oracle入侵与SQL注入技巧详解 #### 一、Oracle数据库特性及SQL注入基础 在讨论Oracle入侵与SQL注入技巧之前,我们首先需要了解Oracle数据库的一些基本特性以及SQL注入的基础概念。 **1.1 Oracle数据库简介** ...
7. **聚合函数与NULL**:SUM、AVG等聚合函数在计算时会忽略NULL值,COUNT(*)会统计所有行,而COUNT(column)仅统计column非NULL的行。 8. **NULL联合**:在UNION、UNION ALL等操作中,NULL值的处理方式不同。UNION会...
使用CREATE TABLE语句可以创建新的表,并可以添加约束条件,如NOT NULL(非空)、UNIQUE(唯一)、PRIMARY KEY(主键)、FOREIGN KEY(外键)和CHECK(检查)等,以确保数据的完整性和一致性。 11. **数据操纵语言...
16. **SUBSCRIPT_BEYOND_COUNT** (ORA-06533): 当尝试访问嵌套表或VARRAY元素的下标超出其范围时,会触发此异常。确保下标在有效范围内。 17. **SUBSCRIPT_OUTSIDE_LIMIT** (ORA-06532): 当使用嵌套表或VARRAY元素...
#### 六、Oracle工具与平台 - **SQL*Plus**:是最常用的Oracle命令行工具,可用于执行SQL语句、PL/SQL块等,是数据库管理和开发的基础。 - **操作系统选择**:虽然Oracle支持多种操作系统,但对于初学者来说,推荐...
本教程将深入探讨Oracle 9i的基础知识,包括安装、配置、SQL语言、表的创建与管理、索引、存储过程、触发器、视图以及备份和恢复等核心概念。 1. **Oracle 9i的安装与配置**: - 安装:Oracle 9i的安装分为多个...