sql cookbook 数据库脚本 for db2

2 篇文章 0 订阅
1 篇文章 0 订阅

最近在看sql cookbook的电子书籍,故整了个数据库打算测试下相关sql脚本,网上都是sql servle和mysql的,自己看着改了下,以下是DB2脚本。

set schema="COOKBOOK";

CREATE TABLE COOKBOOK.emp
    (
      EMPNO INT NOT NULL ,
      ENAME VARCHAR(32) DEFAULT NULL ,
      JOB VARCHAR(32) DEFAULT NULL ,
      MGR VARCHAR(32) DEFAULT NULL ,
      HIREDATE DATE DEFAULT NULL ,
      SAL int DEFAULT NULL ,
      COMM VARCHAR(16) DEFAULT NULL ,
      DEPTNO VARCHAR(8) DEFAULT NULL ,
      PRIMARY KEY ( EMPNO )
    )
in     cookbook
index in cookbook_idx;
 
--
 
-- Dumping data for table emp
 
--
 
INSERT  INTO emp
        ( EMPNO ,
          ENAME ,
          JOB ,
          MGR ,
          HIREDATE ,
          SAL ,
          COMM ,
          DEPTNO
 
        )
VALUES  ( 7369 ,
          'SMITH' ,
          'CLERK' ,
          '7902' ,
          '1980-12-17' ,
          800 ,
          NULL ,
          '20'
 
        );
 
INSERT  INTO emp
        ( EMPNO ,
          ENAME ,
          JOB ,
          MGR ,
          HIREDATE ,
          SAL ,
          COMM ,
          DEPTNO
 
        )
VALUES  ( 7499 ,
          'ALLEN' ,
          'SALESMAN' ,
          '7698' ,
          '1981-02-20' ,
          1600 ,
          '300' ,
          '30'
 
        );
 
INSERT  INTO emp
        ( EMPNO ,
          ENAME ,
          JOB ,
          MGR ,
          HIREDATE ,
          SAL ,
          COMM ,
          DEPTNO
 
        )
VALUES  ( 7521 ,
          'WARD' ,
          'SALESMAN' ,
          '7698' ,
          '1981-02-22' ,
          1250 ,
          '500' ,
          '30'
 
        );
 
INSERT  INTO emp
        ( EMPNO ,
          ENAME ,
          JOB ,
          MGR ,
          HIREDATE ,
          SAL ,
          COMM ,
          DEPTNO
 
        )
VALUES  ( 7566 ,
          'JONES' ,
          'MANAGER' ,
          '7839' ,
          '1981-04-02' ,
          2975 ,
          NULL ,
          '20'
 
        );
 
INSERT  INTO emp
        ( EMPNO ,
          ENAME ,
          JOB ,
          MGR ,
          HIREDATE ,
          SAL ,
          COMM ,
          DEPTNO
 
        )
VALUES  ( 7654 ,
          'MARTIN' ,
          'SALESMAN' ,
          '7698' ,
          '1981-09-28' ,
          1250 ,
          '1400' ,
          '30'
 
        );
        

 
INSERT  INTO emp
        ( EMPNO ,
          ENAME ,
          JOB ,
          MGR ,
          HIREDATE ,
          SAL ,
          COMM ,
          DEPTNO
 
        )
VALUES  ( 7698 ,
          'BLAKE' ,
          'MANAGER' ,
          '7839' ,
          '1981-05-01' ,
          2850 ,
          NULL ,
          '30'
 
        );
 
INSERT  INTO emp
        ( EMPNO ,
          ENAME ,
          JOB ,
          MGR ,
          HIREDATE ,
          SAL ,
          COMM ,
          DEPTNO
 
        )
VALUES  ( 7782 ,
          'CLARK' ,
          'MANAGER' ,
          '7839' ,
          '1981-06-09' ,
          2450 ,
          NULL ,
          '10'
 
        );
 
INSERT  INTO emp
        ( EMPNO ,
          ENAME ,
          JOB ,
          MGR ,
          HIREDATE ,
          SAL ,
          COMM ,
          DEPTNO
 
        )
VALUES  ( 7788 ,
          'SCOTT' ,
          'ANALYST' ,
          '7566' ,
          '1982-12-09' ,
          3000 ,
          NULL ,
          '20'
 
        );
 
INSERT  INTO emp
        ( EMPNO ,
          ENAME ,
          JOB ,
          MGR ,
          HIREDATE ,
          SAL ,
          COMM ,
          DEPTNO
 
        )
VALUES  ( 7839 ,
          'KING' ,
          'PRESIDENT' ,
          NULL ,
          '1981-11-17' ,
          5000 ,
          NULL ,
          '10'
 
        );
 
INSERT  INTO emp
        ( EMPNO ,
          ENAME ,
          JOB ,
          MGR ,
          HIREDATE ,
          SAL ,
          COMM ,
          DEPTNO
 
        )
VALUES  ( 7844 ,
          'TURNER' ,
          'SALESMAN' ,
          '7698' ,
          '1981-09-08' ,
          1500 ,
          '0' ,
          '30'
 
        );
 
INSERT  INTO emp
        ( EMPNO ,
          ENAME ,
          JOB ,
          MGR ,
          HIREDATE ,
          SAL ,
          COMM ,
          DEPTNO
 
        )
VALUES  ( 7876 ,
          'ADAMS' ,
          'CLERK' ,
          '7788' ,
          '1983-01-12' ,
          1100 ,
          NULL ,
          '20'
 
        );
 
INSERT  INTO emp
        ( EMPNO ,
          ENAME ,
          JOB ,
          MGR ,
          HIREDATE ,
          SAL ,
          COMM ,
          DEPTNO
 
        )
VALUES  ( 7900 ,
          'JAMES' ,
          'CLERK' ,
          '7698' ,
          '1981-12-03' ,
          950 ,
          NULL ,
          '30'
 
        );
 
INSERT  INTO emp
        ( EMPNO ,
          ENAME ,
          JOB ,
          MGR ,
          HIREDATE ,
          SAL ,
          COMM ,
          DEPTNO
 
        )
VALUES  ( 7902 ,
          'FORD' ,
          'ANALYST' ,
          '7566' ,
          '1981-12-03' ,
          3000 ,
          NULL ,
          '20'
 
        );
 
INSERT  INTO emp
        ( EMPNO ,
          ENAME ,
          JOB ,
          MGR ,
          HIREDATE ,
          SAL ,
          COMM ,
          DEPTNO
 
        )
VALUES  ( 7934 ,
          'MILLER' ,
          'CLERK' ,
          '7782' ,
          '1982-01-23' ,
          1300 ,
          NULL ,
          '10'
 
        );
       
       
 
--
 
-- table dept
 
--
 
CREATE TABLE COOKBOOK.dept
    (
      DEPTNO INT NOT NULL ,
      DNAME VARCHAR(32) DEFAULT NULL ,
      LOC VARCHAR(32) DEFAULT NULL ,
      PRIMARY KEY ( DEPTNO )
    )
    in cookbook
    index in cookbook_idx;
 
INSERT  INTO dept
        ( DEPTNO, DNAME, LOC )
VALUES  ( 10, 'ACCOUNTING', 'NEW YORK' );
 
INSERT  INTO dept
        ( DEPTNO, DNAME, LOC )
VALUES  ( 20, 'RESEARCH', 'DALLAS' );
 
INSERT  INTO dept
        ( DEPTNO, DNAME, LOC )
VALUES  ( 30, 'SALES', 'CHICAGO' );
 
INSERT  INTO dept
        ( DEPTNO, DNAME, LOC )
VALUES  ( 40, 'OPERATIONS', 'BOSTON' );


 
--
 
-- table t1
 
--
 
CREATE TABLE COOKBOOK.T1
    (
      ID INT NOT NULL ,
      PRIMARY KEY ( ID )
    )
 in cookbook
 index in cookbook_idx;
INSERT  INTO t1
        ( ID )
VALUES  ( 1 );


 
--
 
-- table t10
 
--
 
CREATE TABLE COOKBOOK.T10
    (
      ID INT NOT NULL ,
      PRIMARY KEY ( ID )
    )
    in cookbook
    index in cookbook_idx;
 
INSERT  INTO t10
        ( ID )
VALUES  ( 1 );
 
INSERT  INTO t10
        ( ID )
VALUES  ( 2 );
 
INSERT  INTO t10
        ( ID )
VALUES  ( 3 );
 
INSERT  INTO t10
        ( ID )
VALUES  ( 4 );
 
INSERT  INTO t10
        ( ID )
VALUES  ( 5 );
 
INSERT  INTO t10
        ( ID )
VALUES  ( 6 );
 
INSERT  INTO t10
        ( ID )
VALUES  ( 7 );
 
INSERT  INTO t10
        ( ID )
VALUES  ( 8 );
 
INSERT  INTO t10
        ( ID )
VALUES  ( 9 );
 
INSERT  INTO t10
        ( ID )
VALUES  ( 10 );
 
CREATE TABLE COOKBOOK.emp_bonus
    (
      empno INT ,
      received date ,
      TYPE INT
    )
    in cookbook
    index in cookbook_idx;
    
INSERT  INTO emp_bonus
VALUES  ( 7934, '2005-5-17', 1 );
INSERT  INTO emp_bonus
VALUES  ( 7934, '2005-2-15', 2 );
INSERT  INTO emp_bonus
VALUES  ( 7839, '2005-2-15', 3 );
INSERT  INTO emp_bonus
VALUES  ( 7782, '2005-2-15', 1 );
SQL 是计算机世界的语言,在用关系数据库开发报表时,将数据放入数据库以及从数据库中取出来,都需要SQL 的知识。很多人以一种马马虎虎的态度在使用SQL,根本没有意识到自己掌握着多么强大的武器。本书的目的是打开读者的视野,看看SQL 究竟能干什么,以改变这种状况。, 本书是一本指南,其中包含了一系列SQL 的常用问题以及它们的解决方案,希望能对读者的日常工作有所帮助。本书将相关主题的小节归成章,如果读者遇到不能解决的SQL 新问题,可以先找到最可能适用的章,浏览其中各小节的标题,希望读者能从中找到解决方案,至少可以找到点灵感。, 在这本书中有150 多个小节,这还仅仅是SQL 所能做的事情的一鳞半爪。解决日常编程问题的解决方案的数量仅取决于需要解决的问题的数量,本书没有覆盖所有问题,事实上也不可能覆盖;然而从中可以找到许多共同的问题及其解决方案,这些解决方案中用到许多技巧,读者学到这些技巧就可以将它们扩展并应用到本书不可能覆盖的其他新问题上。, 毫无疑问,本书的目标是让读者看到,SQL 能够做多少一般认为是SQL 问题范围之外的事情。在过去的10 年间,SQL 走过了很长的路,许多过去只能用C 和JAVA等过程化语言解决的典型问题现在都可以直接用SQL 解决了,但是很多开发人员并没有意识到这一事实。本书就是要帮助大家认识到这一点。, 现在,在对我刚才的话产生误解之前我先要申明:我是“如果没坏,就别去修它”这一教义的忠实信徒。例如,假如你有一个特定的业务问题要解决,目前只用SQL检索数据,而其他复杂的业务逻辑由其他语言完成,如果代码没有问题,而且性能也过得去,那么,谢天谢地。我绝对无意建议你扔掉以前的代码重新寻求完全SQL 的解决方案;我只是请你敞开思想,认识到1995 年编程用的SQL 跟2005 年用的不是一回事,今天的SQL 能做的事要多得多。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值