Oracle数据库SQL操作:建表语法与SELECT查询详解

需积分: 9 2 下载量 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进行排序等,这些都是构建复杂查询的基础。