Oracle数据库SQL查询详解:从建表到SELECT语句
需积分: 32 60 浏览量
更新于2024-08-15
收藏 3.47MB PPT 举报
"Oracle数据库Sql语句详解,主要聚焦于建表语法以及SELECT查询操作"
在Oracle数据库管理系统中,创建表是构建数据模型的基础步骤。建表语法允许用户定义新的表格结构,包括列名、数据类型以及约束条件。以下是详细的建表语法:
```sql
CREATE TABLE [schema.]table
(column datatype [DEFAULT expr]
[column_constraint],
...
[table_constraint]);
```
这里,`schema` 是可选的,用于指定表所属的模式或用户,`table` 是要创建的表的名称,`column` 是表中的列名,`datatype` 是该列的数据类型,如 VARCHAR2, NUMBER, DATE 等。`DEFAULT expr` 允许为列设置默认值,如果在插入数据时没有提供,则使用这个默认值。`column_constraint` 和 `table_constraint` 分别用于定义列级约束和表级约束,如 NOT NULL(不允许为空),UNIQUE(唯一性),PRIMARY KEY(主键),FOREIGN KEY(外键)等。
在查询数据方面,`SELECT` 查询是SQL中最基础也是最常用的操作。它用于从一个或多个表中检索信息。以下是一些基本的 `SELECT` 查询示例:
```sql
-- 查询s_emp表中的所有员工信息
SELECT * FROM s_emp;
-- 查询s_emp表中所有员工的部门ID和工资
SELECT dept_id, salary FROM s_emp;
-- 计算s_emp表中所有员工的年薪(假设salary是月工资)
SELECT salary * 12 AS annual_salary FROM s_emp;
```
在上述示例中,`*` 代表选择所有列,`AS` 关键字用于给查询结果的字段起别名,方便理解。`FROM` 后面的 `s_emp` 是要查询的表名。在计算年薪时,我们使用了算术表达式,`*` 表示乘法。注意,当有多个运算符在同一行中时,可以使用括号来控制运算的优先级。
例如,如果我们想在年薪基础上增加100,有两种不同的方法:
1. 先将工资乘以12,然后加上100:
```sql
SELECT last_name, salary, 12 * salary + 100 FROM s_emp;
```
2. 或者先将工资加上100,然后乘以12:
```sql
SELECT last_name, salary, 12 * (salary + 100) FROM s_emp;
```
这两种方法的结果可能会因为运算顺序的不同而略有差异,尤其是当涉及浮点数和精度问题时。
通过这些基本的 `SELECT` 查询和算术运算,我们可以根据需要组合复杂的查询,包括使用WHERE子句进行条件筛选,GROUP BY进行分组,HAVING进行分组后的筛选,以及JOIN操作连接多张表等。在Oracle SQL中,掌握这些基本操作是进行数据管理和分析的关键。
2022-11-15 上传
2022-04-16 上传
2023-06-21 上传
2023-09-10 上传
2023-06-09 上传
2024-06-02 上传
2023-07-13 上传
2023-06-08 上传
速本
- 粉丝: 20
- 资源: 2万+
最新资源
- 十种常见电感线圈电感量计算公式详解
- 军用车辆:CAN总线的集成与优势
- CAN总线在汽车智能换档系统中的作用与实现
- CAN总线数据超载问题及解决策略
- 汽车车身系统CAN总线设计与应用
- SAP企业需求深度剖析:财务会计与供应链的关键流程与改进策略
- CAN总线在发动机电控系统中的通信设计实践
- Spring与iBATIS整合:快速开发与比较分析
- CAN总线驱动的整车管理系统硬件设计详解
- CAN总线通讯智能节点设计与实现
- DSP实现电动汽车CAN总线通讯技术
- CAN协议网关设计:自动位速率检测与互连
- Xcode免证书调试iPad程序开发指南
- 分布式数据库查询优化算法探讨
- Win7安装VC++6.0完全指南:解决兼容性与Office冲突
- MFC实现学生信息管理系统:登录与数据库操作