SQL
xujiali5172923
这个作者很懒,什么都没留下…
展开
-
统计表记录行数
SELECT count(*) FROM 表名,得到integer类型的行数。一个变种,若要统计表中所出现的值的种类数,可以和distinct关键字连用:SELECT COUNT(DISTINCT 字段名) FROM 表名原创 2015-11-11 09:34:35 · 598 阅读 · 0 评论 -
光标
1.光标:光标被用于以记录为单位的操作,一般用于过程化程序里嵌入的SQL语句。2.定义语法(以下语法均以MySQL为例): DECLARE CURSOR_NAME CURSOR FOR SELECT语句 3.打开光标:要使用光标,必须首先打开光标。当光标被打开时,指定光标的SELECT语句 被执行,查询结果被保存在内存里的特定区域。 语法:OPEN CURSOR_原创 2015-11-20 09:49:46 · 311 阅读 · 0 评论 -
存储过程
1.定义:从区别说起,存储过程要优点于SQL语句的方面: 存储过程的语句已经保存在数据库里了; 存储过程的语句已经被解析过,以可执行格式存在; 存储过程支持模块化编程; 存储过程可以调用其他存储过程和函数; 存储过程成可以被其他类型的程序调用; 存储过程通常具有更好的响应时间; 存储过程提高了整体易用性; 以Oracle为例,下面是一个简单的存储过程,原创 2015-11-20 17:26:52 · 399 阅读 · 0 评论 -
DB2 创建EXPLAIN表
DB2对于SQL执行计划的explain表,默认都是不存在的,打开db2的命令行,cd到以下目录C:\Program Files (x86)\IBM\SQLLIB\MISC>lsDB2AutoBackupPolicy.xsd DB2EvmonPkgCache.xsd DB2MonRoutines.xsd DB2Schem原创 2015-12-11 14:22:47 · 3377 阅读 · 0 评论 -
利用索引和表扫描原理优化查询SQL语句
优化sql语句:select s_no,snamefrom student s where s_no in (select a.s_no from sc a, sc b where a.c_no='1'and b.c_no='2' and a.s_no=b.s_no);sc表有唯一联合索引s_no,c_no,s表有主键s_no,该语句原创 2015-11-25 11:10:26 · 430 阅读 · 0 评论 -
高效SQL攻略
1.FROM子句里的表 一般来说,把较小的表列在前面,把较大的表列在后面,就会获得更好的性能。2.结合条件的次序 大多数结合使用一个基表链接到具有一个或多个共有字段的其他表,基表是主表 查询里的大多数或全部表都与它结合,通常,在WHERE子句里来自基表的字段一般 放到结合操作的右侧,要结合的表还是按照从小到大的次序排列。 3.最严格条件 最严格的条件就是:W原创 2015-11-17 16:06:44 · 359 阅读 · 0 评论 -
子查询
1.子查询的规则: 子查询必须位于圆括号里; 除非主查询里有多个字段让子查询进行比较,否则子查询的SELECT子句里只能有一个字段; 子查询里不能有ORDER BY,但可以使用GROUP BY子句; 返回多条记录的子查询只能与多值操作符(例如IN)配合使用; SELECT列表里不能引用任何BLOB,ARRAY,CLOB或NCLOB类型的值; 子查询不能被直接包围在函原创 2015-11-16 17:05:00 · 296 阅读 · 0 评论 -
连接查询
1.JOIN ... ON ...子句的用法 SELECT T1.V1,T2.V2 FROM T1,T2 WHERE T1.V3 = T2.V3等价于 SELECT T1.V1,T2.V2 FROM T1 INNER JOIN T2 ON T1.V3 = T2.V3 以上就是内链接,内链接和普通组合查询的意义一致。 2.外部结合查询 外部结合(连接)查询,会返回一原创 2015-11-16 16:26:21 · 280 阅读 · 0 评论 -
组合查询
1.组合查询可以把多个查询的结果组合为一个数据集,而且通常比使用复杂条件单查询更容易编写。另外,组合查询对于数据检索也具有更强的灵活性。2.UNION: UNION操作符可以组合两个或多个SELECT语句的结果,不包含重复记录,在使用UNION 时,每个SELECT语句里必须选择同样数量的字段,同样数量的字段表达式,同样的数据 类型。 基本语法:原创 2015-11-16 17:34:58 · 502 阅读 · 0 评论 -
分组查询
分组查询的关键字group by,下面举例说明:SELECT 字段1 FROM 表1 GROUP BY 字段1上述语句的意思是:将“表1”按“字段1”的种类分组,并返回分组后的字段1,等价于SELECT DISTINCT(字段1) FROM 表1,获取字段1的所有种类下面再说个列子: 原创 2015-11-13 09:14:59 · 351 阅读 · 0 评论 -
逻辑操作符
逻辑操作符主要包含:is nullbetweeninlikeexistsuniqueallany下面总结一些不常用的:IN----->SELECT * FROM 表名 WHERE 表名 IN (值1',值2');原创 2015-11-11 10:28:51 · 470 阅读 · 0 评论 -
order by 不常用的方法
SELECT 字段名1 字段名2 FROM 表名 ORDER BY 1 desc其中1是指按字段1降序,同理2指按字段2,如果:SELECT 字段名1 字段名2 FROM 表名 ORDER BY 1,2 desc就是说先按字段1降序排序,再按字段2降序排序原创 2015-11-10 16:55:07 · 353 阅读 · 0 评论 -
查询去重
select distinct 字段名 from 表名为了增加可读性,需要加括号select distinct(字段名) from 表名原创 2015-11-10 16:17:27 · 520 阅读 · 0 评论 -
SQL常用查询及示例
一、简单查询语句查看表结构SQL>DESC emp;查询所有列SQL>SELECT * FROM emp;查询指定列SQL>SELECT empmo, ename, mgr FROM emp;SQL>SELECT DISTINCT mgr FROM emp; 只显示结果不同的项查询指定行SQL>SELECT * FROM emp WHERE job=’CLERK’;使用算术表达式转载 2016-01-01 07:07:32 · 324 阅读 · 0 评论