- Teradata 教程
- Teradata - 主页
- Teradata 基础知识
- Teradata - 简介
- Teradata - 安装
- Teradata - 架构
- Teradata - 关系概念
- Teradata - 数据类型
- Teradata - 表
- Teradata - 数据操作
- Teradata - SELECT 语句
- 逻辑和条件运算符
- Teradata - SET 运算符
- Teradata - 字符串操作
- Teradata - 日期/时间函数
- Teradata - 内置函数
- Teradata - 聚合函数
- Teradata - 案例与合并
- Teradata - 主索引
- Teradata - 加入
- Teradata - 子查询
- Teradata 高级版
- Teradata - 表类型
- Teradata - 空间概念
- Teradata - 二级索引
- Teradata - 统计
- Teradata - 压缩
- Teradata - 解释
- Teradata - 哈希算法
- Teradata - 连接索引
- Teradata - 视图
- Teradata - 宏
- Teradata - 存储过程
- Teradata - 加入策略
- Teradata - 分区主索引
- Teradata - OLAP 函数
- Teradata - 数据保护
- Teradata - 用户管理
- Teradata - 性能调优
- Teradata - 快速加载
- Teradata - 多负载
- Teradata - 快速导出
- Teradata-BTEQ
- Teradata 有用资源
- Teradata - 问题与解答
- Teradata - 快速指南
- Teradata - 有用的资源
- Teradata - 讨论
Teradata - SELECT 语句
SELECT 语句用于从表中检索记录。
句法
以下是 SELECT 语句的基本语法。
SELECT column 1, column 2, ..... FROM tablename;
例子
考虑以下员工表。
员工号 | 名 | 姓 | 加入日期 | 部门编号 | 出生日期 |
---|---|---|---|---|---|
101 | 麦克风 | 詹姆士 | 2005年3月27日 | 1 | 1980年1月5日 |
102 | 罗伯特 | 威廉斯 | 2007年4月25日 | 2 | 1983年3月5日 |
103 | 彼得 | 保罗 | 2007年3月21日 | 2 | 1983年4月1日 |
104 | 亚历克斯 | 斯图尔特 | 2008年2月1日 | 2 | 1984年11月6日 |
105 | 罗伯特 | 詹姆士 | 2008年1月4日 | 3 | 1984年12月1日 |
以下是 SELECT 语句的示例。
SELECT EmployeeNo,FirstName,LastName FROM Employee;
执行此查询时,它会从员工表中获取 EmployeeNo、FirstName 和 LastName 列。
EmployeeNo FirstName LastName ----------- ------------------------------ --------------------------- 101 Mike James 104 Alex Stuart 102 Robert Williams 105 Robert James 103 Peter Paul
如果要从表中获取所有列,可以使用以下命令而不是列出所有列。
SELECT * FROM Employee;
上面的查询将从员工表中获取所有记录。
WHERE 子句
WHERE 子句用于过滤 SELECT 语句返回的记录。条件与 WHERE 子句相关联。仅返回满足 WHERE 子句中的条件的记录。
句法
以下是带有 WHERE 子句的 SELECT 语句的语法。
SELECT * FROM tablename WHERE[condition];
例子
以下查询获取 EmployeeNo 为 101 的记录。
SELECT * FROM Employee WHERE EmployeeNo = 101;
执行此查询时,它返回以下记录。
EmployeeNo FirstName LastName ----------- ------------------------------ ----------------------------- 101 Mike James
订购依据
执行 SELECT 语句时,返回的行没有任何特定的顺序。ORDER BY 子句用于在任何列上按升序/降序排列记录。
句法
以下是带有 ORDER BY 子句的 SELECT 语句的语法。
SELECT * FROM tablename ORDER BY column 1, column 2..;
例子
以下查询从员工表中获取记录并按名字对结果进行排序。
SELECT * FROM Employee ORDER BY FirstName;
执行上述查询时,会产生以下输出。
EmployeeNo FirstName LastName ----------- ------------------------------ ----------------------------- 104 Alex Stuart 101 Mike James 103 Peter Paul 102 Robert Williams 105 Robert James
通过...分组
GROUP BY 子句与 SELECT 语句一起使用,将相似的记录分组。
句法
以下是带有 GROUP BY 子句的 SELECT 语句的语法。
SELECT column 1, column2 …. FROM tablename GROUP BY column 1, column 2..;
例子
以下示例按 DepartmentNo 列对记录进行分组,并标识每个部门的总计数。
SELECT DepartmentNo,Count(*) FROM Employee GROUP BY DepartmentNo;
执行上述查询时,会产生以下输出。
DepartmentNo Count(*) ------------ ----------- 3 1 1 1 2 3