Oracle基础用法详解:SQL查询、Where条件与Grouping

需积分: 1 0 下载量 23 浏览量 更新于2024-07-20 收藏 170KB DOCX 举报
Oracle是一种广泛应用于企业级数据库管理系统的高级关系型数据库管理系统,本文将深入探讨Oracle中的一些基本用法,包括SQL(结构化查询语言)的基础语法,以及在实际场景中的具体应用。 SQL是Oracle中最核心的操作语言,用于执行数据查询、更新、插入和删除等操作。以下是Oracle SQL中几个关键部分的详细介绍: 1. **基础查询语句**: - `SELECT`: 这是数据库查询语句的基石,`SELECT * FROM tableA`用于获取tableA中的所有列,`SELECT name, id FROM tableA`则指定只选择特定列。 - `WHERE`: 它用于根据特定条件筛选查询结果。例如,`SELECT * FROM tableA WHERE a.id = 'a' AND a.name = 'aa'`表示同时满足两个条件的记录会被返回,而`SELECT * FROM tableA WHERE a.name LIKE '%a%'`则进行模糊匹配。 2. **逻辑运算与条件查询**: - `AND`和`OR`用于连接多个查询条件,如`SELECT * FROM tableA WHERE a.id = 'a' OR a.name = 'aa'`表示至少满足其中一个条件。 - 使用`<>`(不等于)操作符进行精确比较,比如`SELECT * FROM tableA WHERE age >= 20 AND age <> 100`表示年龄大于等于20且不等于100的记录。 3. **模糊查询和集合查询**: - `LIKE`关键字用于模糊查询,如`SELECT * FROM tableA WHERE a.name LIKE '%a%'`会匹配包含字符'a'的所有名字。 - `IN`关键字用于匹配一组值,如`SELECT * FROM tableA WHERE a.name IN ('1', '2', '3')`表示名字在给定列表中的记录。 4. **空值和非空值检查**: - `IS NULL`和`IS NOT NULL`用于判断字段是否为空,如`SELECT * FROM tableA WHERE age IS NOT NULL`筛选出age字段不为空的记录。 5. **范围查询**: - `>` (大于)、`<` (小于) 和 `BETWEEN` (在某个范围内) 用于指定特定的数值范围,如`SELECT * FROM tableA WHERE age > 20 AND age < 100`或`SELECT * FROM tableA WHERE age BETWEEN 20 AND 100`。 6. **GROUP BY`:** 这个关键字用于将数据按一个或多个字段进行分组。例如: - `SELECT COUNT(*) as 学生总数, class as 班级 FROM school GROUP BY class`计算每个班级的学生总数。 - `GROUP BY`后的字段必须参与分组或在聚合函数中使用,如`COUNT(*)`,避免错误如`SELECT student as 学生, class as 班级 FROM school GROUP BY class`,因为没有明确的聚合函数。 7. **分组与ALL关键字**: - 如果使用`GROUP BY class`,查询结果会排除不在分组列(这里是`class`)中的行,如果想包含所有组,可以使用`GROUP BY ALL class`,但Oracle不支持这个语法,通常需通过其他方式实现。 Oracle SQL提供了丰富的功能来处理和筛选数据,熟练掌握这些基本语法和用法对于日常数据库管理和数据分析至关重要。在实际项目中,根据具体需求灵活运用这些技巧,能够有效提高工作效率。