`

Oracle base SQL语句

阅读更多
----------常用函数  -------------

--nvl函数  如果 exp1 为空,则返回 exp2
Select nvl(comm,0) From emp
--nullif函数  如果 exp1 和 exp2 相等,则返回 null ,否则返回 exp1
Select nullif(1,2) From dual
--nvl2函数  如果 exp1 不为空,则返回 exp2 ,否则返回 exp3
Select empno,ename,sal,comm,nvl2(comm,sal+comm,sal) total From emp
--coalesce函数  遇到非空即返回
Select empno,ename,sal,comm,coalesce(sal+comm,sal,0) total From emp
--case函数
Select empno,ename,sal,
Case deptno
     When 10 Then '财务部'
     When 20 Then '研发部'
     When 30 Then '销售部'
Else '未知部门'
End 部门
From emp;
--decode函数
Select empno,ename,sal,
decode(deptno,10,'财务部',
20,'研发部',
30,'销售部',
'未知部门'
) 部门
From emp;


--多行子查询,子查询返回不是一个结果的
Select * From emp Where sal>Any(Select Avg(sal) From emp Group By deptno);
Select * From emp Where sal>All(Select Avg(sal) From emp Group By deptno);
Select * From emp Where job In (Select job From emp Where ename='MARTIN' Or ename='SMTTH')
--分页查询第一种写法
select * from (
       select rownum no,e.* from (
              select * from emp order by sal Desc
       ) e where rownum<=5
) where no>=3;
--分页查询第二种写法
select * from (
       select rownum no,e.* from (
              select * from emp order by sal Desc
       ) e
) where no>=3 and no<=5;
--随机返回五行数据
Select * From (
       Select empno,ename,job From emp Order By dbms_random.value()       
) Where Rownum <= 5;

Select * From emp Order By sal


--首字母转为大写
Select initcap(ename) From emp
--连接字符串
Select concat('hello ','word') From dual
--截取字符串
Select substr(ename,-3,3) From emp
--四舍五入
Select round(789.567,-2) From dual
--直接取几位,不四舍五入
Select trunc(789.576,-2) From dual
--雇佣了几周
Select round((Sysdate-hiredate)/7) From emp
--年 月 日
Select empno,ename,to_char(hiredate,'yyyy') Year,to_char(hiredate,'mm') months,to_char(hiredate,'dd') Day From emp
--格式化为制定时间格式
Select empno,ename,to_char(hiredate,'yyyy-mm-dd') From emp
--去零
Select empno,ename,to_char(hiredate,'fmyyyy-mm-dd') From emp
--美元
Select empno,ename,to_char(sal,'$99,999') From emp
--本地
Select empno,ename,to_char(sal,'L99,999') From emp
--年薪资 (工资+奖金)×12
Select empno,ename,nvl(comm,0),(sal+nvl(comm,0))*12 income From emp
--奖金不为空
Select Distinct job From emp Where comm Is Not Null
--每月倒数第三天雇佣的员工信息
Select * From emp Where Last_day(hiredate)-2=hiredate
--最高12年前雇佣的,今天和雇佣日期之间总月份/12
Select * From emp Where months_between(Sysdate,hiredate)/12 > 12
--雇佣了多少天
Select ename,round(Sysdate-hiredate) From emp

Select * From emp
--工作年限,月限
Select ename,trunc(months_between(Sysdate,hiredate)/12) Year,
       trunc(Mod(months_between(Sysdate,hiredate),12)) months
From emp
分享到:
评论

相关推荐

    oraclebase

    在Java应用程序中,与Oracle数据库的交互是通过JDBC(Java Database Connectivity)接口进行的,而OracleBase可能是这个接口的一个封装或扩展,提供了更方便的API来管理数据库连接、执行SQL语句以及处理结果集。...

    Oracle Database SQL语句处理步骤

     这个阶段,数据库会去判断SQL语句是否真正具有相应的含义,比如说sql语句涉及的表,或者字段是否存在等。  3、shared pool check(shared sql area check)  数据库执行一个shared pool check 去确定它是否...

    使用SQL语句查询MySQL,SQLServer,Oracle所有数据库名和表名,字段名

    这篇文章将详细介绍如何使用SQL语句在MySQL、SQL Server和Oracle数据库中进行这样的查询。 首先,我们来看MySQL。MySQL提供了`SHOW DATABASES`命令来列出所有的数据库名。例如,如果你想要查看所有的数据库,只需...

    SqlServer和Oracle的不同的一些体会

    - **Sql Server**:可以在存储过程中使用一条`SELECT`语句返回一个`DataReader`。 - **Oracle**:则必须使用`Oracle REF CURSOR`来返回查询结果。此时需要使用`OracleCommand.ExecuteReader()`方法,而不是`...

    Oracle Database的SQL计划管理.docx

    在Oracle Database中,SQL计划管理(SQL Plan Management,简称SPM)是一项重要的功能,旨在确保SQL语句的执行计划稳定性,同时允许在不影响性能的前提下,适应数据库环境的变化。SPM的主要目标是提供一个框架,使得...

    多数据库连接(支持MySql,Sqlserver,Oracle)

    首先,`DBHelper.cs`文件很可能是这个库的核心类,它封装了数据库连接的创建、打开、关闭以及执行SQL语句等操作。在这个类中,可能会包含如`Connect()`用于建立数据库连接,`ExecuteNonQuery()`用于执行非查询SQL...

    Oracle选择题(含答案).doc

    在这篇文章中,我们将总结 Oracle 相关的选择题,涵盖了 SQL 语句、数据类型、函数、查询语句等多方面的知识点。 1. 查询月固定费用是 5.9 元,8.5 元,10.5 元的资费信息 正确的 SQL 语句是 A.select id,base_...

    10046事件和sql_trace.docx

    【10046事件与SQL_TRACE】是Oracle数据库中用于诊断和优化SQL语句执行性能的重要工具。当面临SQL语句执行效率低下时,我们可以启用SQL_TRACE来追踪其执行流程,获取详细的执行信息,从而找出性能瓶颈。 一、启用SQL...

    oracle巡检语句汇总

    这通常可以通过编辑Oracle初始化参数文件`$ORACLE_BASE/admin/CKDB/pfile/initORCL.ora`来实现。 ##### 2.2 检查数据库连接情况 ```sql select count(*) from v$session; ``` 此查询用于查看当前会话连接数,判断...

    嵌入式SQL中动态SQL技术的研究.pdf

    在本文中,作者深入研究了嵌入式SQL系统中的动态SQL技术,提出了三种处理动态SQL语句的方法,并详细描述了这些方法的设计与实现。文章首先介绍了嵌入式SQL系统GKD-ESQL,随后探讨了动态SQL语句的错误处理机制,以下...

    Oracle Instant Client 11g base 绿色版(32位)

    2. **sqlplus**:一个命令行工具,允许用户直接执行SQL语句和PL/SQL块,进行数据查询和管理。 3. **tnsnames.ora**:网络服务名配置文件,定义了如何连接到Oracle数据库服务器的细节,如服务器地址、端口和服务名。...

    _SQL_Optimizer7.2.0简单安装配置及使用方法(1of2)(for_Oracle)

    通过分析数据库中的SQL语句和底层环境,该工具能够自动重写SQL语句以改善其运行效率,进而提高数据库的整体性能。其主要功能包括优化SQL语句、优化索引以及分析SQL语句等。 安装Quest SQL Optimizer 7.2.0的过程中...

    SQL Tutorial

    - 在Oracle中创建SQL语句时,需要熟悉Oracle特有的函数和特性。 - **2.3 在Access中创建SQL语句** - Microsoft Access是一种流行的桌面关系型数据库管理系统,适合小型项目或个人使用。 - 使用Access时,可以...

    Base64及oracle11g的jar.zip

    `ojdbc6.jar`是Oracle数据库的JDBC驱动程序,它允许Java应用程序连接到Oracle 11g数据库并执行SQL语句。JDBC(Java Database Connectivity)是Java中用来访问数据库的标准API,它定义了如何在Java程序中与各种类型的...

    维护项目oracle常用语句

    在维护Oracle数据库项目时,掌握一些常用的SQL及PL/SQL语句是至关重要的。下面将对标题和描述中提到的一些关键知识点进行详细说明。 1. **查询特殊字符**: 在Oracle中,特殊字符如`%`和`_`通常用于模糊匹配。如果...

    GKD-BASE PL_SQL引擎实现关键技术研究.pdf

    这个过程中,编译器将PL/SQL语句块预处理后分为SQL语句和过程语句分别解析,建立语法树,最后解释器执行中间代码。此外,研究中还涉及符号表和游标的使用,这些是PL/SQL语言处理过程中的重要组成部分。 在数据库...

    Oracle数据库日常维护诊断Sql

    - **v$session**: 存储关于每个会话的信息,包括用户、当前执行的SQL语句地址等。 - **v$sqltext**: 存储SQL语句文本。 - **v$process**: 显示操作系统进程与Oracle会话之间的关系。 - **SPID**: 系统进程标识符,...

    JDBC连接Oracle-MySQL-SQLServer数据库

    之后,你可以创建Statement或PreparedStatement对象来执行SQL语句。 4. **数据库表结构**:在示例中,我们看到创建了一个名为edm_base.T01_CLIENTINFO_CTS的Oracle表,包含了多个字段,如client_id、branch_no等,...

    sql语句大全

    ### SQL语句大全知识点解析 #### 一、特殊字符处理 **知识点1:查询特殊字符** 在SQL查询中,有时我们需要查找包含特定特殊字符的数据,例如通配符`%`和`_`。为了准确地匹配这些特殊字符,我们需要使用`LIKE`子句...

    C#访问oracle数据库类,带blob字段读写

    接着,创建`OracleCommand`对象,设置其CommandType为` CommandType.Text `,并传入SQL语句。最后,调用`ExecuteNonQuery`方法执行命令。例如,插入一条记录的代码可能如下: ```csharp using (OracleConnection ...

Global site tag (gtag.js) - Google Analytics