teradata数据库分析函数_Teradata数据库功能操作简单介绍(转载)

一:SQL OVERVIEW

1:什么是SQL

结构化查询语句SQL是连接关系数据库管理系统的工业化标准

结构化查询语句从对RDBMS的一个查询来返回结果

SQL不是一种程序语言

2:SQL语句类型 DDL

CREATE 定义一个新表,新索引,新视图

DROP 销毁一个表,索引或者视图

ALTER 改变表结构或者保护定义

3:SQL语句类型 DML

SELECT 执行关系查询功能(SELECT PROJECT JOIN UNION INTERSECT MINUS)

INSERT 将一新行插入到一个表中

UPDATE 修改一个存在的行的值

DELETE 将行从表中删除

4:SQL语句类型 DCL

GRANT 给予用户权限

REVOKE 去除用户权限

GIVE 转移数据库拥有权

5:命名数据库对象

名字可以由下列对象组成:a-z A-Z 0-9 _ $ #

名字必须由下列对象开始:a-z A-Z _ #

名字长度被限定在30个字符内

NOTE:Teradata is not case-sensitive

二:Teradata SQL Extensions

1:三个ANSI标准

ANSI SQL-89(SQL1)

ANSI SQL-92(SQL2)

ANSI SQL-99(SQL3)

三个ANSI SQL-92 COMPLIANCE:Entry level

Intermediate level

Full level

Teradata本身对SQL具有了独特的扩展

Teradata ANSI认证是entry LEVEL SQL2 WHTH INTERMEDIATE FEATURES IMPLEMENTED

2:Teradata的SQL扩展

ADD_MONTHS BEGIN/END TRANSACTION

COLLECT/DROP STATISTICS COMMENT ON

CONCATENATION EXPLAIN

FALLBACK FORMAT

HELP INDEX

LOCKING MACRO FACILITY.CREATE

.REPLACE

.DROP

.EXECUTE

NAMED NULLIFZERO/ZEROIFNULL

SHOW SUBSTRING

TITLE TRIM

WITH WITH....BY

3:Help

HELP DATABASE databasename;

HELP USER username;

HELP TABLE tablename;

HELP VIEW viewname;

HELP MACRO macroname;

HELP COLUMN table_or_view_name.*; OR table_or_view_name ..,colname;

HELP INDEX tablename;

HELP STATISTICS tablename;

4:SHOW

SHOW TABLE tablename;

SHOW VIEW viewname;

SHOW MACRO macroname;

5:EXLPLAIN

EXPLAIN SELECT * FROM department;

即EXPLAIN+任何除了EXPLAIN的SQL语句

6:日期函数

SELECT DATE;

SELECT EXTRACT(YEAR FROM DATE);

SELECT EXTRACT(MONTH FROM DATE+30);

SELECT EXTRACT(DAY FROM DATE+2);

SELECT TIME;

SELECT EXTRACT(HOUR FROM TIME);

SELECT EXTRACT(MINUTE FROM TIME);

SELECT EXTRACT(SECOND FROM TIME);

SELECT ADD_MONTHS(DATE,2);

SELECT ADD_MONTHS(DATE,12*8);

SELECT ADD_MONTHS('2002-03-19',12);

7:CAST

SELECT CAST(salary_amount AS INTEGER) FROM employee;

SELECT CAST(salary_amount AS DEC(6,0)) FROM employee;

SELECT CAST(salary_amount AS CHAR(5)) FROM employee;

SELECT salary_amount(INTEGER)

SELECT salary_amount(DEC(6,0))

SELECT salary_amount(CHAR(5))

SELECT CAST(salary_amount AS CHAR(5) UPPERCASE) FROM employee;

三:视图和宏

1:使用视图的优点:

额外的安全层级

对于读和修改权限的控制有帮助

易于最终用户访问数据

如果表中新增加了一列,对视图没有影响

表中删除一列如果没有被视图用到的一样没有影响

2:Parameterized Macros 参数宏

宏是Teradata对于SQL的扩充

宏只能在具有EXEC权限的情况下被运行

宏能提供列级安全

宏是SQL语句的批处理命令

四:Aggregates and Subtotals 聚类和求和

聚类操作

聚类操作在特定的组中运算出值.五种聚类操作是:COUNT SUM AVG MAX MIN

聚类操作忽略NULLS并且只产生单线结果

GROUP BY

这里是定单评估的最优化SQL语句:

WHERE

快速的排除一些或者全部行

只有满足WHERE条件的行被包含在组内

GROUP BY

将满足条件的行放入所需要的分组内

HAVING

排除一些或者所有的分组

ORDER BY

将最终分组排序输出

求和-- WITH ....BY & WITH

问题:

显示部门内每个雇员的工资总和,作为FINAL TOTAL,并以NAME排序

解决方案:

SELECT last_name AS NAME

,salary_amount AS SALARY

,department_number AS DEPT

FROM employee

WITH SUM(SALARY) BY DEPT

WITH SUM(SALARY) (TITLE`GRAND TOTAL`) ORDER BY NAME;

五:Correlate Subqueries and Derived Tables 相关子查询和源表

子查询:

SELECT Last_Name,

Department_Number,

Salary_Amount

FROM Employee AS e1

WHERE Salary_Amount=

(SELECT MAX(Salary_Amount)

FROM Employee AS e2

WHERE e1.Department_Number=e2.Department_Number);

源表:

源表是在查询的一部分过程中被创建和销毁的临时表

源表允许在WHERE短句中使用聚类

使用源表

六:JOINS 连接

外部连接:

子句放置规则:子句中的第一个(从左到右)是首先评估的

子句应用于前部连接操作

例子:要知道所有雇员的信息(雇员,部门,工作)

SELECT Description AS Job

,Department_Name AS Dept

,Last_Nmae AS Job

FROM Deparment D

RIGHT OUTER JOIN Employee E

ON D.Department_Number=E.Department_Number

LEFT OUTER JOIN JOB J

ON E.Job_Code=J.Job_Code;

使用连接索引:

七:Teradata事务处理

Teradata能进行两种不同模式的会话操作:ANSI模式和Teradata(BTET)模式

ANSI--&gt Any statement that follows a COMMIT automatically starts a new transaction.Locks are accumulated until a COMMIT is used

Teradata--&gt Locks are accumulated following a BT until an ET is issued

处理过程:

在Teradata和ANSI模式下事务处理都是commit point

在Teradata模式下:

在implicit模式下,请求就是事务处理

事务通过使用BT/ET来明确的递交

当使用BT/ET的时候----&gt请求被BT和ET声明装订

事务使用ET递交

事务能够使用ROLLBACK来回滚撤消

ET和ROLLBACK都能终止处理

在ANSI模式下:

事务使用COMMIT来明确递交

处理可以使用ROLLBACK来回滚撤消

八:Online Analytical Funcitons联机分析功能

RANK (RANKING)

QUANTILE (Quantiles)

CSUM (Cumulation)

MAVG (Moving Averages)

MSUM (Moving Sums)

MDIFF (Moving Differences)

FORECAST (Forecasting)

MLINREG (Moving Linear Regression)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值