说明:这是今年4月和5月自己学习Oracle的笔记,都是实例,一个知识点一个例子,我觉得这种学习方式比纯学理论的要好,整理出来供大家参考,希望对学习oracle和SQL的人有所帮助。我也还是一个初学者,希望大家多多交流,共同进步!
Oracle SQL笔记概述
Oracle SQL是Oracle数据库管理系统中的结构化查询语言,用于检索、操作和管理存储在Oracle数据库中的数据。本笔记将通过实例的方式,详细讲解Oracle SQL的基础和高级概念,帮助初学者深入理解并掌握SQL操作。
第一章 基本查询语句
基本查询语句包括SELECT语句,用于从数据库中选择数据。例如:
```sql
SELECT column1, column2 FROM table_name;
```
这将选取指定表中的特定列。基础查询还可以涉及WHERE子句,用于筛选满足特定条件的行。
第二章 排序数据
在查询结果中,可以使用ORDER BY子句对数据进行升序(ASC)或降序(DESC)排序。
```sql
SELECT * FROM table_name ORDER BY column1 DESC;
```
这将按column1的值降序排列所有行。
第三章 SQL单行函数
SQL单行函数处理单个值,如计算平均值(AVG)、最大值(MAX)、最小值(MIN)、总和(SUM)和字符串操作(如UPPER、LOWER)。例如:
```sql
SELECT AVG(column) FROM table_name;
```
此查询返回column列的平均值。
第四章 操纵数据
INSERT语句用于向表中插入新记录,UPDATE用于修改现有记录,而DELETE用于删除记录。
```sql
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
UPDATE table_name SET column = new_value WHERE condition;
DELETE FROM table_name WHERE condition;
```
这些操作都需要谨慎,特别是DELETE,因为它会永久性地移除数据。
第五章 连接查询
连接查询(JOIN)用于合并两个或更多表的数据。内连接(INNER JOIN)返回两个表中匹配的行,外连接(LEFT JOIN, RIGHT JOIN, FULL JOIN)返回所有相关行,即使在另一张表中没有匹配项。
第六章 数据分组
GROUP BY语句用于将数据按一个或多个列进行分组,常与聚合函数一起使用,如COUNT、SUM和AVG。
```sql
SELECT column1, COUNT(*) FROM table_name GROUP BY column1;
```
这将按column1的值分组并计算每组的记录数。
第七章 子查询
子查询(嵌套查询)是在另一个SQL语句中嵌入的查询,用于提供数据或条件。例如,可以在WHERE子句中使用子查询来过滤结果。
```sql
SELECT * FROM table_name WHERE column IN (SELECT column FROM other_table WHERE condition);
```
第八章 复杂查询
复杂查询可能涉及UNION(合并不同查询的结果集),INTERSECT(找出两个查询的交集)和EXCEPT(找出第一个查询但不在第二个查询中的行)。
第九章 建立和管理表
CREATE TABLE用于创建新表,ALTER TABLE用于修改表结构,DROP TABLE用于删除表。例如:
```sql
CREATE TABLE new_table (column1 datatype, column2 datatype);
ALTER TABLE table_name ADD column3 datatype;
DROP TABLE table_name;
```
第十章 使用约束
约束是确保表中数据完整性的规则,如NOT NULL(不允许空值)、UNIQUE(唯一性)、PRIMARY KEY(主键)和FOREIGN KEY(外键)。
第十一章 使用视图
视图(VIEW)是虚拟表,基于一个或多个表的SELECT查询。视图可以简化复杂的查询,并提供数据的安全性,因为它们可以限制对原始数据的访问。
这些笔记覆盖了Oracle SQL的基础知识,包括查询、数据操纵、表管理以及数据完整性。通过实例学习,有助于加深理解并应用于实际项目中。作为初学者,持续实践和交流是提升技能的关键。希望这些笔记能为学习Oracle SQL的人提供有价值的参考。