Oracle SQL教程:外键约束与SELECT查询详解

需积分: 26 6 下载量 27 浏览量 更新于2024-08-15 收藏 3.47MB PPT 举报
本文将深入探讨Oracle数据库中的外键约束创建,以及如何使用SQL查询语句进行数据操作。首先,我们来看如何建立表的外键约束,这是关系数据库中确保数据完整性和参照完整性的关键机制。 在Oracle数据库中,外键约束用于确保一个表(子表)中的数据引用另一个表(父表)中的有效数据。以下是一个创建包含外键约束的表的例子: ```sql CREATE TABLE parent ( id number PRIMARY KEY, name varchar2(32) ); CREATE TABLE child ( id number PRIMARY KEY, p_id number REFERENCES parent(id) ); ``` 在这个例子中,`parent` 表是父表,拥有一个主键 `id` 和一个名称字段 `name`。`child` 表是子表,有自己的主键 `id` 以及一个字段 `p_id`,这个字段定义为引用 `parent` 表的 `id` 字段,从而创建了外键约束。这意味着在 `child` 表中,`p_id` 的值必须存在于 `parent` 表的 `id` 字段中,确保了数据的引用完整性。 另一种创建外键约束的方式是直接在 `CREATE TABLE` 语句中指定: ```sql CREATE TABLE child ( id number PRIMARY KEY, p_id number, FOREIGN KEY (p_id) REFERENCES parent(id) ); ``` 这种方式同样创建了一个外键约束,与前一个示例效果相同。 接下来,我们转向SQL查询的基础知识。`SELECT` 查询是SQL中最基本的操作,用于从数据库中检索数据。例如,要获取 `s_emp` 表中所有员工的信息,可以使用以下语句: ```sql SELECT * FROM s_emp; ``` 这里的 `*` 是通配符,表示选择所有列。如果你想指定列,可以这样写: ```sql SELECT dept_id, salary FROM s_emp; ``` 这将只返回部门ID和工资两个字段的数据。 还可以在查询中使用算术表达式,比如计算年薪: ```sql SELECT salary * 12 FROM s_emp; ``` 此外,可以使用括号来调整运算顺序,例如: ```sql SELECT last_name, salary, 12 * (salary + 100) FROM s_emp; ``` 这将计算每个员工的年薪,并加上100,作为额外的福利。 外键约束是Oracle数据库中保证数据一致性和完整性的关键工具,而`SELECT`查询则是我们获取和处理这些数据的基本手段。通过理解并熟练掌握这些概念,我们可以更有效地管理和操作数据库。