Oracle学习:从表中复制行与SQL基础

需积分: 0 0 下载量 81 浏览量 更新于2024-08-15 收藏 1.82MB PPT 举报
"这篇Oracle学习文档主要介绍了如何从另一个表中复制行,使用INSERT语句结合子查询实现数据的迁移。文档还涵盖了SQL语言的基础知识,包括基本的SELECT语句、约束、排序、函数、多表操作、子查询、创建和管理表、创建视图以及其他数据库对象。通过学习,读者应能掌握SQLSELECT语句的功能,如列选择、行选择和连接,以及如何执行基本的SELECT语句。 在Oracle中,要从一个表复制行到另一个表,可以使用INSERT语句配合子查询。例如,要将`employees`表中`job_id`包含'REP%'的员工信息复制到`sales_reps`表中,可以编写以下SQL语句: ```sql INSERT INTO sales_reps(id, name, salary, commission_pct) SELECT employee_id, last_name, salary, commission_pct FROM employees WHERE job_id LIKE '%REP%'; ``` 此语句中,`INSERT INTO`部分定义了目标表`sales_reps`和要插入的列,`SELECT`子查询则指定了源数据和条件。注意,子查询中的列数必须与`INSERT`语句中指定的列数匹配。 SQL语言的基础部分包括: 1. **基本的SELECT语句**:允许选择要显示的列,选择满足特定条件的行,以及对多个表进行联合查询。 - `SELECT *` 可以获取表中的所有列。 - 指定列名可以选择特定的列,如 `SELECT column1, column2 FROM table;` 2. **约束和排序数据**:可以使用WHERE子句设置条件,ORDER BY子句进行排序。 3. **单行函数**:例如计算字符串长度、转换数据类型等。 4. **多表显示数据和组函数**:JOIN操作连接不同表的数据,GROUP BY用于分组,而聚合函数(如COUNT, SUM, AVG, MAX, MIN)用于计算汇总信息。 5. **创建和管理表**:CREATE TABLE语句用于创建新表,ALTER TABLE修改已存在的表,DROP TABLE删除表。 6. **子查询**:嵌套在其他SQL语句中的查询,用于获取所需的数据集。 7. **内置约束**:如NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY等,用于确保数据完整性。 8. **创建视图**:虚拟表,基于一个或多个表的查询结果,方便数据的访问和管理。 9. **其他数据库对象**:如索引、触发器、存储过程等,用于优化性能和自动化操作。 在编写SQL语句时,要注意以下几点: - SQL语句对大小写不敏感,但为了可读性,通常将关键词大写。 - 可以一行或多行书写,但为了清晰,建议每子句另起一行。 - 关键字不能缩写,且不应折行。 - 算术表达式支持加、减、乘、除运算,优先级遵循常规数学规则,可使用括号调整计算顺序。 - NULL值是特殊的,它不代表0或空格,参与运算时可能导致结果为NULL。 通过学习这些概念,用户将能够有效地在Oracle数据库中管理和操作数据。"