Oracle数据库SQL操作:建表语法与SELECT查询详解
需积分: 9 20 浏览量
更新于2024-08-15
收藏 3.58MB PPT 举报
"Oracle数据库SQL操作中的建表语法和SELECT查询"
在Oracle数据库管理系统中,SQL(Structured Query Language)是用于管理和操作数据的主要工具。本文将重点介绍如何使用SQL进行建表操作以及执行SELECT查询。
首先,我们来看建表语法。在Oracle中,创建表格的基本语句是`CREATE TABLE`,其格式如下:
```sql
CREATE TABLE [schema.]table
(column datatype [DEFAULT expr]
[column_constraint],
...
[table_constraint]);
```
这里的关键要素包括:
1. `CREATE TABLE`:这是创建新表的命令。
2. `[schema.]table`:`schema`是可选的,表示数据库模式,`table`是你要创建的表的名称。
3. `column`:列名,即表中的字段。
4. `datatype`:列的数据类型,如`NUMBER`、`VARCHAR2`、`DATE`等。
5. `[DEFAULT expr]`:默认值,可选,用于指定当新记录插入时,如果未提供值,则使用该表达式的值。
6. `[column_constraint]`:列约束,如`NOT NULL`、`UNIQUE`、`PRIMARY KEY`等。
7. `[table_constraint]`:表约束,如`FOREIGN KEY`、`CHECK`等,用于定义表级别的规则。
接下来,我们转向SELECT查询,这是SQL中最常用的操作之一,用于从数据库中检索数据。基础的SELECT语句结构如下:
```sql
SELECT <列名>
FROM <表名>;
```
以下是一些SELECT查询的示例和扩展功能:
1. 查询所有列:如果你想从`s_emp`表中获取所有员工的信息,你可以使用`*`通配符:
```sql
SELECT * FROM s_emp;
```
2. 查询指定列:如果你只想获取员工的部门ID和工资,你可以指定列名:
```sql
SELECT dept_id, salary FROM s_emp;
```
3. 使用算术表达式:你可以对列中的值进行计算,比如计算年薪:
```sql
SELECT salary * 12 FROM s_emp;
```
4. 运算符和表达式:可以使用算术、比较和逻辑运算符,比如加减乘除、大于、小于、等于等:
```sql
SELECT last_name, salary, 12 * salary + 100 FROM s_emp;
```
5. 运算优先级:使用括号可以改变运算的优先顺序:
```sql
SELECT last_name, salary, 12 * (salary + 100) FROM s_emp;
```
6. 处理空值(NULL):你可以使用`IS NULL`或`IS NOT NULL`来检查值是否为空:
```sql
SELECT * FROM s_emp WHERE salary IS NOT NULL;
```
7. 字段别名:使用`AS`关键字为列名设置别名,使得输出更易读:
```sql
SELECT last_name AS "Employee Name", salary AS "Annual Salary" FROM s_emp;
```
8. 字段连接:使用`CONCAT`函数或其他方法将多个字段值组合在一起:
```sql
SELECT CONCAT(last_name, ', ', first_name) AS "Full Name" FROM s_emp;
```
通过以上介绍,你应该对Oracle数据库中的建表语法和SELECT查询有了初步的理解。在实际操作中,还可以结合WHERE子句进行条件筛选,使用GROUP BY进行分组,使用HAVING进行分组后的筛选,以及使用ORDER BY进行排序等,这些都是构建复杂查询的基础。
2018-01-31 上传
2024-05-27 上传
2024-04-02 上传
2023-04-22 上传
2024-08-01 上传
2023-10-19 上传
2024-09-20 上传
2024-09-20 上传
2024-09-13 上传
郑云山
- 粉丝: 20
- 资源: 2万+
最新资源
- Haskell编写的C-Minus编译器针对TM架构实现
- 水电模拟工具HydroElectric开发使用Matlab
- Vue与antd结合的后台管理系统分模块打包技术解析
- 微信小游戏开发新框架:SFramework_LayaAir
- AFO算法与GA/PSO在多式联运路径优化中的应用研究
- MapleLeaflet:Ruby中构建Leaflet.js地图的简易工具
- FontForge安装包下载指南
- 个人博客系统开发:设计、安全与管理功能解析
- SmartWiki-AmazeUI风格:自定义Markdown Wiki系统
- USB虚拟串口驱动助力刻字机高效运行
- 加拿大早期种子投资通用条款清单详解
- SSM与Layui结合的汽车租赁系统
- 探索混沌与精英引导结合的鲸鱼优化算法
- Scala教程详解:代码实例与实践操作指南
- Rails 4.0+ 资产管道集成 Handlebars.js 实例解析
- Python实现Spark计算矩阵向量的余弦相似度