Oracle:使用SQL SELECT语句检索数据

简介: 一、官档 Book → SQL Language Reference → 19 SQL Statements: SAVEPOINT to UPDATE → SELECT 二、基础语法 SELECT {[distinct]列名,列名,…}|* FROM 表名 [WHERE 条件] [GROUP BY 分组列名] [HAVING 聚合函数] [ORDER BY 排序列名 ASC|DESC] 三、符号 单引号('):在Oracle中,应该只使用单引号将文本和字符和日期括起来,不能使用引号(包括单双引号)将数字括起来。

一、官档

Book → SQL Language Reference → 19 SQL Statements: SAVEPOINT to UPDATE → SELECT

二、基础语法

 SELECT {[distinct]列名,列名,…}|*
   FROM 表名 
 [WHERE 条件]
 [GROUP BY 分组列名]
[HAVING 聚合函数]
 [ORDER BY 排序列名 ASC|DESC]

三、符号

  1. 单引号('):在Oracle中,应该只使用单引号将文本和字符和日期括起来,不能使用引号(包括单双引号)将数字括起来。 
  2. 双引号("):在Oracle中,单双引号含义不同。双引号被用来将包含特定字符或者空格的列别名括起来。双引号还被用来将文本放入日期格式。
  3. 撇号('):在Oracle中,撇号也可以写成彼此相邻的两个单引号。为了在供应商名字中间查找所有带撇号的供应商名字,可以这样编写代码:
    select * from l_suppliers where supplier_name like '%''%' 
  4. &符号:在Oracle中,&符号常用来指出一个变量。例如,&fox是一个变量,稍微有点不同的一种&& fox。每当&fox出现在Oracle脚本中时,都会要求您为它提供一个值。而使用&&fox,您只需要在& &fox第一次出现时为它提供变量值。如果想将&符号作为普通的符号使用,则应该关闭这个特性。要想关闭这个特性,可以运行以下的命令: set define off ,这是一个SQLplus命令,不是一个SQL命令。SQLplus设置了SQL在Oracle中运行的环境。 
  5. 双竖线(||):Oracle使用双竖线表示字符串连接函数。 
  6. 星号(*):select *意味着选择所有的列,count(*)意味着计算所有的行,表示通配符时,表示0个或任意多个字符。 
  7. 正斜杠(/):在Oracle中,用来终止SQL语句。更准确的说,是表示了“运行现在位于缓冲区的SQL代码”。正斜杠也用作分隔项。 
  8. 不等于:有多种表达方式:!=、^=、<>、not xxx=yyy、not(xxx=yyy)
  9. 加减乘除:+ - * /

四、别名

SELECT EMPNO AS "员工编号", ENAME AS "员工名称" FROM EMP;

SELECT EMPNO 员工编号, ENAME 员工名称 FROM EMP;

SELECT EMPNO "员工编号", ENAME "员工名称" FROM EMP;

五、去重

--员工分布在哪些部门 ,列出部门ID
SELECT DISTINCT DEPARTMENT_ID FROM EMPLOYEES;

六、DESCRIBE

DESC OWNER.TABLE_NAME

SELECT COLUMN_NAME,
       DECODE(NULLABLE, 'Y', ' ', 'NOT NULL') NULLABLE,
       DECODE(DATA_TYPE,
              'RAW', DATA_TYPE || '(' || DATA_LENGTH || ')',
              'CHAR', DATA_TYPE || '(' || DATA_LENGTH || ')',
              'VARCHAR', DATA_TYPE || '(' || DATA_LENGTH || ')',
              'VARCHAR2', DATA_TYPE || '(' || DATA_LENGTH || ')',
              'NUMBER', NVL2(DATA_PRECISION, 
                             DECODE(DATA_SCALE,
                                    0, DATA_TYPE || '(' || DATA_PRECISION || ')',
                                    DATA_TYPE || '(' || DATA_PRECISION || ',' || DATA_SCALE || ')'),
                             DATA_TYPE),
              DATA_TYPE) DATA_TYPE
  FROM DBA_TAB_COLUMNS
 WHERE OWNER = UPPER('&sch')
   AND TABLE_NAME = UPPER('&tab')
 ORDER BY COLUMN_ID

七、查询例子

--*:表示查询所有列 
select * from employees;

--查询固定列 
select DEPARTMENT_NAME, MANAGER_ID
from departments;

--*:在运算符里表示乘以 
select FIRST_NAME 名字, 
SALARY * COMMISSION_PCT*12 年度奖金
from employees
where salary > 10000;

--||:拼接字符串  
--'':表示单引号,在字符串里显示,用于区分'结束输出  
select last_name || ' ''s salary is : ' || salary aaa
from employees
where salary > 10000;

--多个单引号时使用q'[]',避免多次使用''
select last_name || q'[ 's sa'la'ry' is : ]' || salary aaa
from employees
where salary > 10000;
目录
相关文章
|
1天前
|
SQL Oracle Java
实时计算 Flink版产品使用问题之采集Oracle数据时,为什么无法采集到其他TABLESPACE的表
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
1月前
|
SQL Oracle 关系型数据库
|
1月前
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
76 3
|
1月前
|
SQL 存储 Oracle
TDengine 3.3.2.0 发布:新增 UDT 及 Oracle、SQL Server 数据接入
**TDengine 3.3.2.0 发布摘要** - 开源与企业版均强化性能,提升WebSocket、stmt模式写入与查询效率,解决死锁,增强列显示。 - taos-explorer支持geometry和varbinary类型。 - 企业版引入UDT,允许自定义数据转换。 - 新增Oracle和SQL Server数据接入。 - 数据同步优化,支持压缩,提升元数据同步速度,错误信息细化,支持表名修改。 - 扩展跨平台支持,包括麒麟、Euler、Anolis OS等。
62 0
|
1月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版产品使用问题之在online模式下增量抓取Oracle数据时,在archive_log切换时,出现数据丢失的情况,是什么原因
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2月前
|
SQL Oracle 关系型数据库
一些非常有用的Oracle SQL
一些非常有用的Oracle SQL
34 4
|
2月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之在进行Oracle数据库的全量同步时,只同步了一条数据而源表实际上包含多条数据,是什么原因
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2月前
|
资源调度 Oracle 关系型数据库
实时计算 Flink版产品使用问题之同步oracle表时,任务不报错,但是读不到数据,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
21天前
|
SQL JSON 数据库
influxdb 端点使用http进行sql查询,写数据
influxdb 端点使用http进行sql查询,写数据
64 0
|
6天前
|
SQL 存储 分布式计算

推荐镜像

更多