说起 DB2 在线分析处理,可以用很好很强大来形容.这项功能特别适用于各种统计查询,这些查询用通常的SQL很难实现,或者根本就无发实现.首先,我们从一个简单的例子开始,来一步一步揭开它神秘的面纱,请看下面的SQL:   SELECT ROW_NUMBER() OVER(ORDER BY SALARY) AS 序号, NAME AS 姓名, DEPT AS 部门, SALARY AS 工资 FROM ( --姓名    部门  工资 VALUES ('张三','市场部',4000), ('赵红',…
本文使用的实例表结构与表的数据如下: scott.emp员工表结构如下:   SQL> DESC SCOTT.EMP; Name     Type         Nullable Default Comments  -------- ------------ -------- ------- --------  EMPNO    NUMBER(4)                     员工编号   ENAME    VARCHAR2(10) Y                员工姓名  …
SQL语言概述 SQL是结构化查询语言(Structure Query Language),1974年提出,1979年被IBM实现,SQL语言已经成为关系型数据库的标准语言. 包括: DDL数据定义语言 语句有CREATE ,ALTER ,DROP,操作表,视图,触发器,存储过程 DML数据操作语言 语句有SELECT ,INSERT , UPDATE , DELETE,用于检索和操作数据 DCL数据控制语言 语句有GRANT , DENY , REVOKE,只有sysadmin,数据库创建者,…
原book对象 package com.shaying.domain; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; impor…
原文:在论坛中出现的比较难的sql问题:3(row_number函数 分组查询) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路.另外,考虑到前2篇太长,看起来不太方便,所以拆分为第3篇 1.分组查询问题 http://bbs.csdn.net/topics/390619682?page=1#post-395835328 例子表结构数据如下: id st…
在不同数据库中的使用的分页查询语句: 当前页:currentpage 页大小:pagesize 1. Oracle数据库 select * from (select A.*,rownum rn from ( QUERY_SQL ) A )  where rn <= ((currentpage+1)*pagesize) and rn > (currentpage*pagesize) 注:QUERY_SQL为查询sql语句. 或 select * from (select rownum rn,id…
一.背景介绍 了解一个sql语句的执行过程,了解一部分都做了什么,更有利于对sql进行优化,因为你知道它的每一个连接.where.分组.子查询是怎么运行的,都干了什么,才会知道怎么写是不合理的. 大致执行顺序: select[distinct] from join(如:left join) on where group by having union order by limit 二.数据表准备 1.创建表 DROP TABLE IF EXISTS student; CREATE TABLE `…
此情况用于数据库中没有“年龄”这个字段,只有“出生日期”这个字段.先计算出“年龄”,在分组查询. 1.SELECT *, ROUND(DATEDIFF(CURDATE(), popBirthday)/365.2422)  AS '年龄' FROM population   :这是获取当前日期, 在根据“出生日期”,计算出“年龄”,AS 后面取的“年龄的别名”,数据库里并没有“年龄”这个字段. 2. Select popSex,popNative, Sum(Case When 年龄 <=20 Th…
原文:http://www.jellythink.com/archives/924 我的抱怨 我一个搞应用开发的,非要会数据库,这不是专门的数据库开发人员干的事么?话说,小公司也没有数 据库开发人员这么个职位吧.好吧,对数据库最深的印象还停留在大学<数据库原理>这堂课上,什么第一范式,第二范式…,这些理论的东西,多多少少还是记得 点,至于更深层次的,我不会.所以呢,撸起袖子,开始学习吧. 干程序员,最不怕的就是学习,如果你连学习都怕了,那还是早点退出这行吧.你说是吧.而我今天这篇文章,既不总结…
/* 分组函数 不能再select子句中出现普通的列,除非这个列在group by中给出 所有的空值都会被分为一组 分组过滤 SELECT FROM WHERE GROUPBY HAVING ORDERBY */ --求出每种工作的平均薪资 SELECT JOB,AVG(SAL),MAX(SAL),MIN(SAL) FROM EMP GROUP BY JOB; SELECT MAX(SAL) FROM EMP; SELECT DEPTNO,AVG(SAL) FROM EMP GROUP BY D…