"Oracle SQL语句详解,主要集中在建表语法和SELECT查询上,适合学习Oracle数据库管理和数据查询。"
在Oracle数据库管理中,建表是基础操作之一,用于定义数据库中的新表结构。建表语法如下:
```sql
CREATE TABLE [schema.]table
(column datatype [DEFAULT expr]
[column_constraint],
...
[table_constraint]);
```
这里的`schema`指的是模式,`table`是你要创建的表的名称,`column`是表中的列名,`datatype`是列的数据类型,如INT、VARCHAR2等。`DEFAULT expr`用于设定列的默认值,如果在插入数据时没有提供该列的值,系统将使用默认值。`column_constraint`和`table_constraint`则用于定义列级和表级的约束,例如NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY等,它们用于保证数据的完整性和一致性。
接下来,我们转向SELECT查询,这是SQL中最常用的语句,用于从数据库中检索数据。基本的SELECT语句结构如下:
```sql
SELECT <列名>
FROM <表名>;
```
例如,要查询`s_emp`表中的所有员工信息,你可以使用:
```sql
SELECT * FROM s_emp;
```
这里的`*`是通配符,表示选择所有列。若只想选择特定列,如部门ID(dept_id)和工资(salary),则可以写为:
```sql
SELECT dept_id, salary FROM s_emp;
```
在SELECT查询中,还可以使用算数表达式进行计算,例如,计算年薪:
```sql
SELECT salary * 12 FROM s_emp;
```
要注意,运算符的优先级可以通过括号来调整。例如,如果你想计算每个员工的年薪并加上100,有两种方式:
```sql
-- 方式一:先乘以12再加100
SELECT last_name, salary, 12 * salary + 100 FROM s_emp;
-- 方式二:先加100再乘以12
SELECT last_name, salary, 12 * (salary + 100) FROM s_emp;
```
这两种方式的结果会有所不同,因为乘法操作的优先级高于加法。
在实际应用中,你可能还需要处理空值(NULL)、对查询结果进行排序(ORDER BY)、分组(GROUP BY)、过滤(WHERE子句)、连接(JOIN)等操作,这些都是SELECT查询的强大功能。通过学习和熟练掌握这些知识点,你可以高效地从Oracle数据库中获取所需信息。