Oracle查询语句精华总结

需积分: 9 3 下载量 151 浏览量 更新于2024-10-21 收藏 92KB DOC 举报
"Oracle数据库操作总结" Oracle数据库是一个广泛使用的关系型数据库管理系统,它提供了丰富的SQL语句用于数据的管理、查询、更新和删除等操作。本文档主要汇总了Oracle中的查询语句,虽然未涉及游标、触发器和存储过程,但涵盖了基本的数据查询和过滤方法,对于日常工作中快速检索和处理数据非常有帮助。 一、基本数据查询 最基础的查询语句是`SELECT`,如`SELECT 内容 FROM 表名`,这将返回表中所有记录的指定内容。如果想要获取所有列,可以使用`SELECT * FROM 表名`。 二、去除重复行 要消除重复行,可以使用`DISTINCT`关键字,如`SELECT DISTINCT job FROM emp`,这将返回去重后的`job`字段值。 三、限定查询 1. `IS NULL` 和 `IS NOT NULL`:用于检查字段值是否为空,如`SELECT empno, ename, comm FROM emp WHERE comm IS NOT NULL`,查询出有奖金的员工。 2. `AND` 运算符:用于同时满足多个条件,例如`SELECT empno, ename, sal, comm FROM EMP WHERE sal > 1500 AND comm IS NOT NULL`,找出工资超过1500并有奖金的员工。 3. `OR` 运算符:用于选择满足任一条件的记录,如`SELECT empno, ename, sal, comm FROM EMP WHERE sal > 1500 OR comm IS NOT NULL`,找出工资超过1500或有奖金的员工。 4. `NOT` 运算符:对条件取反,如`SELECT empno, ename, sal, comm FROM emp WHERE NOT (sal > 1500 AND comm IS NOT NULL)`,找出工资不超过1500且无奖金的员工。 四、范围查询 1. `BETWEEN AND`:用于筛选在两个值之间的记录,例如`SELECT empno, ename, sal, comm FROM emp WHERE sal BETWEEN 1500 AND 3000`,找出工资在1500到3000之间的员工。 2. `IN` 运算符:用于指定一组可能的值,如`SELECT * FROM emp WHERE empno IN (7369, 7499, 7521)`,查询指定雇员编号的员工信息。 3. `NOT IN` 运算符:与`IN`相反,用于排除指定值,如`SELECT * FROM emp WHERE empno NOT IN (7369, 7499, 7521)`,查询非指定雇员编号的员工信息。 五、模式匹配 1. `LIKE` 运算符:用于模糊查询,`_`代表单个字符,`%`代表零个或多个字符。例如`SELECT empno, ename, comm, sal FROM emp WHERE ename LIKE '_M%'`,查找名字第二个字符是"M"的员工。 2. 日期匹配:`LIKE`也可用于匹配日期,如`SELECT * FROM emp WHERE hiredate LIKE '1982%'`,查找1982年入职的员工。 这些查询语句构成了Oracle SQL的基本操作,通过组合运用,可以实现复杂的数据过滤和检索。在实际工作中,理解和熟练掌握这些语句,不仅能够提高工作效率,也有助于提升编程技能。尽管提供复制粘贴的快捷方式很方便,但理解并记住这些语句的用法是非常重要的,这样才能更好地应对各种数据处理需求。