`

Oracle学习:Oracle语句基础,操作符,伪列及伪表

阅读更多
§1.8 SQL 语句基础
下面给出SQL语句的基本介绍,更详细的描述见后面的章节。
§1.8.1 SQL语句所用符号
操作符 用途 例子
+ - 表示正数或负数,正数可省去 + -1234.56
+ 将两个数或表达式进行相加 A=c+b
- 将两个数或表达式进行相减 34-12
* 将两个数或表达式进行相乘 12*34
/ 除以一个数或表达式 18*11
NULL 空值判断 Where name is null;
|| 字符串连接 ‘101-’||tel_num
= 等于测试 Select * from emp where name=’赵元杰’;
!= 或<>或^= 不等于测试 Select * from emp where name !=’赵元杰’;
< 小于测试 Select * from emp Where sal < 5000;
> 大于测试 Select * from emp Where sal > 5000;
<= 小于等于测试 Select * from emp Where sal <= 5000;
>= 大于等于测试 Select * from emp Where sal >= 5000;
Not in 测试某值是否在一个指定的结果集中 Select name,addr from expertwhere local not in(‘北京’,’上海’);
ANY 将一个值与一组值进行比较,返回满足条件的结果。必须跟!=,<,>,<=,>= select ename,sal from emp where sal<= any(select sal from emp where deptno=10)
SOME 同ANY,必须跟!=,<,>,<=,>= 
ALL 将一个值与一组值比较,返回满足条件的所有列值。必须跟!=,<,>,<=,>= Select name,sal from empWhere sal<= all ( 500,800,1200);
Not betweenA and B 判断某个值是否界于两者之间。 Select name,sal from emp Where sal between 500 and 1200;
[not]exists 判断某个列是否存在于一组值中。 select dname,deptno from dept where exists(select * from emp where dept.deptno=emp.deptno)
A[not]like b[Escape ‘char’] 比较两个模式是否相似,当使用like 语句时Oracle不去访问索引。 Select * from empWhere ename like ‘TH%’;
Is [not] null 测试值是否为空。 Select ename,deptno from empWhere comm. Is null or comm.=0;
Not 对结果的否定。 Select * from empWhere sal not(sal<1000); 等价于select ename,sal from emp where sal>=1000;
AND 用于判断两个条件十分都满足。 Select * from emp where Ename=’SIMTH’ and sal>=1000;
OR 用于判断两个条件中是否有一个满足。 Select * from emp where Ename=’SIMTH’ or ename=’SCOTT’;
UNION 用于返回(组合)两个查询中所有唯一的行。 Select ename from emp unionSelect ename from emp;
UNION ALL 用于返回(组合)两个查询中所有所有的行。 
INTERSECT 用于返回两个查询中相同的行。 Select ename from emp1 intersect select ename from emp2;
MINUS 用于返回两个查询中的不同的行。
 
§1.8.2 简单select 查询
当我们可以用SQL*PLUS登录到SQL>下后,我们可以用DESC 显示某表的结构,也可以用select 语句简单查询表中的一些列的内容。
例:要查询EMP表中员工的姓名、工资及出生日期,则:
SQL>select ename, sal, hiredate from emp;
§1.9 伪列及伪表
Oracle系统为了实现完整的关系数据库功能,系统专门提供了一组称为伪列(Pseudocolumn)的数据库列,这些列不是在建立对象(如建表)时由我们完成的,而是在我们建立对象时由自动Oracle完成的。Oracle目前有以下的伪列:
l CURRVAL and NEXTVAL 使用序列号的保留字
l LEVEL 查询数据所对应的级
l ROWID 记录的唯一标识
l ROWNUM 限制查询结果集的数量
有关伪列的详细解释和使用见相关章节。
Oracle 还提供了一个DUAL 的伪表,该表主要目的是保证在使用SELECT 语句中语句的完整性而提供的,如:我们要查询当前的系统日期及时间,而系统的日期和时间并是放在一个指定的表里。所以在 from 语句后就没有表名给出。为了使用 from 后有个表名,我们就用DUAL代替。如:
例1:查询Oracle系统日期及时间:
SQL> select to_char( sysdate,'yyyy.mm.dd hh24:mi:ss') from DUAL;
TO_CHAR(SYSDATE,'YY
-------------------
2001.06.02 07:28:09
例2:计算一下 5000+5000*0.1 的结果是多少,则:
SQL> select 5000+5000*0.1 from DUAL;
5000+5000*0.1
-------------------
5500

 

分享到:
评论

相关推荐

    自动生成oracle数据库表分析语句

    ### 自动生成Oracle数据库表分析语句 在Oracle数据库管理中,定期进行表分析对于优化查询性能至关重要。通过分析表和索引,Oracle可以更新统计信息,这些信息将被查询优化器用于选择最佳的执行计划。本文将详细介绍...

    Oracle批处理:使用C# 自带Oracle驱动一次执行多条Sql语句

    Oracle批处理是数据库操作中提高效率的重要手段,尤其是在C#编程环境下,利用Oracle的数据驱动进行批处理,可以显著提升大量SQL语句执行的速度。本文将深入探讨如何在C#中利用Oracle自带的驱动来实现批处理,以一次...

    Oracle Sql语句转换成Mysql Sql语句

    5. **函数和操作符**:两者内置的函数和操作符有所不同,例如Oracle的NVL对应MySQL的IFNULL,Oracle的TO_DATE对应MySQL的STR_TO_DATE。 6. **序列**:Oracle使用序列(SEQUENCE)来生成唯一ID,MySQL则常使用自增...

    oracle的伪列与分页

    在Oracle数据库中,伪列(Pseudocolumn)并非真正意义上的列,而是一种特殊的数据库对象,它看起来像表中的一个列,但实际上并不存储数据。Oracle提供了一些内置的伪列供用户使用,如`ROWID`和`ROWNUM`等,这些伪列...

    oracle查询语句优化

    Oracle会尝试将IN操作符转换为多个表之间的连接。如果转换失败,则先执行子查询,再查询外部表,这增加了额外的转换步骤。 - **推荐方案**:对于业务密集型SQL,尽量避免使用IN操作符。 ##### 2. NOT IN操作符 - *...

    oracle基础学习pdf

    "Oracle基础学习pdf"提供了一系列教程,旨在帮助新手入门并让有经验的开发者进行查阅。下面将根据提供的文件列表,深入讲解每个章节涵盖的关键知识点。 1. **第0章 开篇** - Oracle概述:介绍Oracle数据库的基本...

    ORACLE-SQL语句学习教程解读.pdf

    Oracle SQL语句是数据库管理员和开发人员在Oracle数据库系统中进行数据操作的主要工具。本教程将深入探讨Oracle SQL的各种核心概念和技术,旨在帮助初学者和经验丰富的用户更好地理解和使用SQL语句。 首先,我们从...

    Oracle——sql语句优化

    #### IN操作符:灵活性与性能的平衡 IN操作符常用于包含多个值的条件匹配,因其语法简洁、易于理解而广受欢迎。然而,其性能表现往往不尽如人意。Oracle会尝试将IN操作符转换为多表连接查询,若转换失败,则需先...

    oracle语句优化.docx

    本文将详细地介绍 Oracle 语句优化的方法和技巧,涵盖多表关联、EXISTS 和 IN 语句的使用、INDEX_JOIN 优化、WHERE 和 HAVING 语句的区别、NOT IN 和 &lt;&gt; 操作符的使用、LIKE 操作符的替代、UNION 操作符的优化、SQL ...

    Introduction To ORACLE9i:SQL2

    - **联合查询**:使用UNION操作符可以将两个或多个SELECT语句的结果合并为一个结果集。 ```sql SELECT column1, column2 FROM table1 UNION SELECT column1, column2 FROM table2; ``` #### 7. 视图与存储...

    Oracle SQL 语句学习

    以上就是Oracle SQL语句学习中的核心知识点,涵盖了关系型数据库的基本概念、SQL语言的分类和功能、以及具体到SELECT语句的使用方法和相关操作。这些内容对于理解和运用Oracle SQL语句进行数据库操作是至关重要的...

    Tianlesoftware Oracle 学习手册(v1.0)高清完整PDF版

    ### Tianlesoftware Oracle 学习手册(v1.0)中的关键知识点 #### 1. ORACLE基础知识 ##### 1.1 OLAP与OLTP介绍 **1.1.1 什么是OLTP** OLTP(Online Transaction Processing,在线事务处理)是一种主要针对企业...

    oracle课件:第五章 PLSQL基础.ppt

    本章主要探讨PL/SQL的基础知识,包括其结构、数据类型、操作符、复合数据类型、SQL执行、控制结构以及其优点和体系架构。 1. **PL/SQL块结构** PL/SQL程序由一系列的块组成,每个块都有声明、执行和异常处理部分。...

    Oracle基础

    Oracle基础知识课程涵盖了SQL基础知识、查询语句的编写、限制数据和排序、单行函数、Null值和空值、列别名和连接操作符、消除重复行和显示表结构等内容,是学习Oracle数据库管理系统的基础课程。

    Oracle数据库经典学习教程

    Oracle中的伪列 - **ROWNUM**:用于返回结果集中的行号。 - **ROWID**:返回每行的唯一标识符。 ##### 3. Oracle函数 - **字符串函数**:如UPPER、LOWER、TRIM等。 - **数值函数**:如ROUND、TRUNC、MOD等。 - **...

    SQL_Server,Oracle,DB2数据库SQL语句比较

    字符串拼接是数据处理中非常基础的功能,不同的数据库支持不同的拼接操作符。 ### 四、处理NULL值 #### 1.1.4 处理NULL值 - **SQL Server**: - 使用`SELECT userid, username, ISNULL(email, 0) FROM AUTH_USER...

    oracle基础的文档 熟悉oracle的对象

    - **AND操作符**:在WHERE子句中,AND用于组合多个条件,只有当所有条件都满足时,记录才会被选中。例如,`SELECT stu_id, stu_name FROM stu WHERE stu_age = 18 AND stu_sex = 'girl'`将返回所有年龄为18岁且性别...

    oracle数据库关键字

    * AND:逻辑与操作符,用于连接条件。 * ANY:所有的关键字,用于指定所有的记录或字段。 * AS:别名语句,用于指定别名。 * ASC:升序语句,用于指定升序排序。 * AUTHID:身份验证语句,用于验证用户身份。 * AVG...

Global site tag (gtag.js) - Google Analytics