《SQL Cookbook》学习笔记 —— 数据准备

1. 创建EMP表

CREATE TABLE `EMP` (
  `EMPNO` int NOT NULL,
  `ENAME` varchar(45) DEFAULT NULL,
  `JOB` varchar(45) DEFAULT NULL,
  `MGR` int DEFAULT NULL,
  `HIREDATE` date DEFAULT NULL,
  `SAL` int DEFAULT NULL,
  `COMM` int DEFAULT NULL,
  `DEPTNO` int DEFAULT NULL,
  PRIMARY KEY (`EMPNO`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

字段含义说明:

  1. MGR:该员工上级领导的EMPNO
  2. SAL:工资
  3. COMM:奖金

2. 创建DEPT表

CREATE TABLE `DEPT` (
  `DEPTNO` int NOT NULL,
  `DNAME` varchar(45) DEFAULT NULL,
  `LOC` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`DEPTNO`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

3. 向EMP表中插入数据

INSERT INTO EMP VALUES
        (7369, 'SMITH',  'CLERK',     7902,   str_to_date('12/17/1980', '%m/%d/%Y'),  800,   NULL,  20);
INSERT INTO EMP VALUES
        (7499, 'ALLEN',  'SALESMAN',  7698,   str_to_date('2/20/1981', '%m/%d/%Y'),   1600,  300,   30);
INSERT INTO EMP VALUES
        (7521, 'WARD',   'SALESMAN',  7698,   str_to_date('2/22/1981', '%m/%d/%Y'),   1250,  500,   30);
INSERT INTO EMP VALUES
        (7566, 'JONES',  'MANAGER',   7839,   str_to_date('4/2/1981', '%m/%d/%Y'),    2975,  NULL,  20);
INSERT INTO EMP VALUES
        (7654, 'MARTIN', 'SALESMAN',  7698,   str_to_date('9/28/1981', '%m/%d/%Y'),   1250,  1400,  30);
INSERT INTO EMP VALUES
        (7698, 'BLAKE',  'MANAGER',   7839,   str_to_date('5/1/1981', '%m/%d/%Y'),    2850,  NULL,  30);
INSERT INTO EMP VALUES
        (7782, 'CLARK',  'MANAGER',   7839,   str_to_date('6/9/1981', '%m/%d/%Y'),    2450,  NULL,  10);
INSERT INTO EMP VALUES
        (7788, 'SCOTT',  'ANALYST',   7566,   str_to_date('12/9/1982', '%m/%d/%Y'),   3000,  NULL,  20);
INSERT INTO EMP VALUES
        (7839, 'KING',   'PRESIDENT', NULL,   str_to_date('11/17/1981', '%m/%d/%Y'),  5000,  NULL,  10);
INSERT INTO EMP VALUES
        (7844, 'TURNER', 'SALESMAN',  7698,   str_to_date('9/8/1981', '%m/%d/%Y'),    1500,  0,     30);
INSERT INTO EMP VALUES
        (7876, 'ADAMS',  'CLERK',     7788,   str_to_date('1/12/1983', '%m/%d/%Y'),   1100,  NULL,  20);
INSERT INTO EMP VALUES
        (7900, 'JAMES',  'CLERK',     7698,   str_to_date('12/3/1981', '%m/%d/%Y'),   950,   NULL,  30);
INSERT INTO EMP VALUES
        (7902, 'FORD',   'ANALYST',   7566,   str_to_date('12/3/1981', '%m/%d/%Y'),   3000,  NULL,  20);
INSERT INTO EMP VALUES
        (7934, 'MILLER', 'CLERK',     7782,   str_to_date('1/23/1982', '%m/%d/%Y'),   1300,  NULL,  10);

4. 向DEPT表中插入数据

INSERT INTO DEPT VALUES (10, 'ACCOUNTING', 'NEW YORK');
INSERT INTO DEPT VALUES (20, 'RESEARCH',   'DALLAS');
INSERT INTO DEPT VALUES (30, 'SALES',      'CHICAGO');
INSERT INTO DEPT VALUES (40, 'OPERATIONS', 'BOSTON');

5. 创建数据透视表 T1、T10、T100和T500,并插入数据

CREATE TABLE `T1` (
  `ID` int NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

insert into T1 values (1);
CREATE TABLE `T10` (
  `ID` int NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

INSERT INTO T10 VALUES (1);
INSERT INTO T10 VALUES (2);
INSERT INTO T10 VALUES (3);
INSERT INTO T10 VALUES (4);
INSERT INTO T10 VALUES (5);
INSERT INTO T10 VALUES (6);
INSERT INTO T10 VALUES (7);
INSERT INTO T10 VALUES (8);
INSERT INTO T10 VALUES (9);
INSERT INTO T10 VALUES (10);

T100与T500的创建过程省略

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,那我可以为您提供一些学习Hive SQL的资源和建议。 1. 官方文档 首先,您可以参考Hive官方文档中关于Hive SQL的部分。官方文档提供了很详细的介绍和示例,可以帮助您快速入门。 链接:https://cwiki.apache.org/confluence/display/Hive/LanguageManual 2. 外部资源 除了官方文档,还有一些外部资源可以帮助您学习Hive SQL。以下是一些推荐的资源: - Hive Tutorial:这是一份比较全面的Hive教程,包括Hive SQL的基本语法、DDL、DML、函数等内容。链接:https://www.tutorialspoint.com/hive/index.htm - Hive Cheat Sheet:这是一份Hive SQL的速查表,可以帮助您快速查找Hive SQL的语法和用法。链接:https://www.edureka.co/blog/wp-content/uploads/2019/07/Hive-Cheat-Sheet.pdf - Hive Cookbook:这是一份Hive SQL的实战指南,通过一些常见的场景和问题,来帮助您深入理解Hive SQL的使用和优化。链接:https://www.oreilly.com/library/view/hive-cookbook/9781449328714/ 3. 实践项目 最后,我建议您通过实践项目来学习Hive SQL。通过实际操作,您可以更深入地了解Hive SQL的使用和优化技巧。以下是一些可以参考的实践项目: - Kaggle竞赛:Kaggle上有很多与Hive SQL相关的数据分析和数据挖掘竞赛,您可以参加这些竞赛来练习Hive SQL的使用。 - Github项目:Github上也有很多Hive SQL的开源项目,您可以参考这些项目来学习Hive SQL的最佳实践和优化技巧。 希望以上资源对您有所帮助,祝您学习愉快!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值