`
lgstarzkhl
  • 浏览: 334493 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

oracle学习之查询

阅读更多
desc emp; 显示数据库表结构

select empno,ename,sal*12 from emp;

     EMPNO ENAME          SAL*12
---------- ---------- ----------
      7369 SMITH            9600
      7499 ALLEN           19200
      7521 WARD            15000
      7566 JONES           35700
      7654 MARTIN          15000
      7698 BLAKE           34200
      7782 CLARK           29400
      7788 SCOTT           36000
      7839 KING            60000
      7844 TURNER          18000
      7876 ADAMS           13200
      7900 JAMES           11400
      7902 FORD            36000
      7934 MILLER          15600

日期类型是日期相加减
select empno,ename,hiredate,hiredate+10 from emp;

     EMPNO ENAME      HIREDATE   HIREDATE+1
---------- ---------- ---------- ----------
      7369 SMITH      17-12月-80 27-12月-80
      7499 ALLEN      20-2月 -81 02-3月 -81
      7521 WARD       22-2月 -81 04-3月 -81
      7566 JONES      02-4月 -81 12-4月 -81
      7654 MARTIN     28-9月 -81 08-10月-81
      7698 BLAKE      01-5月 -81 11-5月 -81
      7782 CLARK      09-6月 -81 19-6月 -81
      7788 SCOTT      19-4月 -87 29-4月 -87
      7839 KING       17-11月-81 27-11月-81
      7844 TURNER     08-9月 -81 18-9月 -81
      7876 ADAMS      23-5月 -87 02-6月 -87
      7900 JAMES      03-12月-81 13-12月-81
      7902 FORD       03-12月-81 13-12月-81
      7934 MILLER     23-1月 -82 02-2月 -82

连接字符串 ||
select ename || ' is a ' || job from emp;

ENAME||'ISA'||JOB
-------------------------
SMITH is a CLERK
ALLEN is a SALESMAN
WARD is a SALESMAN
JONES is a MANAGER
MARTIN is a SALESMAN
BLAKE is a MANAGER
CLARK is a MANAGER
SCOTT is a ANALYST
KING is a PRESIDENT
TURNER is a SALESMAN
ADAMS is a CLERK
JAMES is a CLERK
FORD is a ANALYST
MILLER is a CLERK

select empno,ename || ' is annual salary is ' || sal*12 from emp;

     EMPNO ENAME||'ISANNUALSALARYIS'||SAL*12
---------- -----------------------------------------------------------------------
      7369 SMITH is annual salary is 9600
      7499 ALLEN is annual salary is 19200
      7521 WARD is annual salary is 15000
      7566 JONES is annual salary is 35700
      7654 MARTIN is annual salary is 15000
      7698 BLAKE is annual salary is 34200
      7782 CLARK is annual salary is 29400
      7788 SCOTT is annual salary is 36000
      7839 KING is annual salary is 60000
      7844 TURNER is annual salary is 18000
      7876 ADAMS is annual salary is 13200
      7900 JAMES is annual salary is 11400
      7902 FORD is annual salary is 36000

字段别名
  员工编号 员工信息
---------- -----------------------------------------------------------------------
      7369 SMITH is annual salary is 9600
      7499 ALLEN is annual salary is 19200
      7521 WARD is annual salary is 15000
      7566 JONES is annual salary is 35700
      7654 MARTIN is annual salary is 15000
      7698 BLAKE is annual salary is 34200
      7782 CLARK is annual salary is 29400
      7788 SCOTT is annual salary is 36000
      7839 KING is annual salary is 60000
      7844 TURNER is annual salary is 18000
      7876 ADAMS is annual salary is 13200
      7900 JAMES is annual salary is 11400
      7902 FORD is annual salary is 36000
      7934 MILLER is annual salary is 15600

sql语言中的空值
空值是无效的,未指定的,未知的或不可预知的值
空值不等同于空格或者0

在表达式中使用空值
算术表达式中如果出现空值,则整个表达式结果为空
连接表达式中出现的空值被当作一个空的(长度为零的字符串处理)
select ename || comm as info1 , sal + comm as total from emp;

INFO1                                                   TOTAL
-------------------------------------------------- ----------
SMITH
ALLEN300                                                 1900
WARD500                                                  1750
JONES
MARTIN1400                                               2650
BLAKE
CLARK
SCOTT
KING
TURNER0                                                  1500
ADAMS
JAMES
FORD
MILLER
如果算术运算符中出现空值,则显示的结果也为空值。

去除重复行
distinct 关键字 如果是多个字段,则显示的是所有的字段的组合的集合不重复。
select distinct empno,job from emp;

查询结果排序
select empno,job from emp order by empno desc;
也可以按照别名排序
select empno,job,sal*12 as totalsal from emp order by totalsal desc;
部门编号正序,工资数倒序的内容的值
select deptno,empno,job,sal*12 as totalsal from emp order by deptno,totalsal desc;

to_date函数
select * from emp where hiredate > to_date('1982-03-10','yyyy-mm-dd')
     EMPNO ENAME      JOB              MGR HIREDATE          SAL       COMM     DEPTNO
---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
      7788 SCOTT      ANALYST         7566 19-4月 -87       3000                    20
      7876 ADAMS      CLERK           7788 23-5月 -87       1100                    20

比较运算符
>
<
=
>=
<=
<> 不等于

between and
介于两者之间,包括最大值和最小值
select * from emp where sal between 1900 and 2600
     EMPNO ENAME      JOB              MGR HIREDATE          SAL       COMM     DEPTNO
---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
      7782 CLARK      MANAGER         7839 09-6月 -81       2450                    10

in 在集合的内容中查询,如果查不到,则不显示
select * from emp where ename in('WARD','ddd')

使用like进行模糊查询
使用%号进行查询,模糊多个
使用-表示查询一个字符
escape表示转义字符
select * from emp where ename like '%\_%' escape '\';
如果遇到\就代表转义字符,这个查询表示的是前边或者后边一个或者多个字母的情况,中间是_的时候,这个一般用在关键中,就是如果
查询的结果中包含关键字的情况。
一个单引号是转义字符,''这种情况表示一个单引号

判断空值 is null
查询数据库中所有是空值的列
select * from emp where comm is null
select * from emp where comm is not null 所有非空的结果查询
     EMPNO ENAME      JOB              MGR HIREDATE          SAL       COMM     DEPTNO
---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902 17-12月-80        800                    20
      7566 JONES      MANAGER         7839 02-4月 -81       2975                    20
      7698 BLAKE      MANAGER         7839 01-5月 -81       2850                    30
      7782 CLARK      MANAGER         7839 09-6月 -81       2450                    10
      7788 SCOTT      ANALYST         7566 19-4月 -87       3000                    20
      7839 KING       PRESIDENT            17-11月-81       5000                    10
      7876 ADAMS      CLERK           7788 23-5月 -87       1100                    20
      7900 JAMES      CLERK           7698 03-12月-81        950                    30
      7902 FORD       ANALYST         7566 03-12月-81       3000                    20
      7934 MILLER     CLERK           7782 23-1月 -82       1300                    10

逻辑运算符
and or not


这个查询的结果是所有工作是销售和工作是文员但是工资大于1280的那些人
select * from emp where job = 'SALESMAN' or job = 'CLERK' and sal > 1280
这个是所有销售和文员工资大于1280的
select * from emp where (job = 'SALESMAN' or job = 'CLERK') and sal > 1280






分享到:
评论

相关推荐

    oracle学习资料,我搜集和总结的大量oracle学习资源

    本压缩包中包含的“Oracle学习资料”是一份综合性的资源集合,旨在为系统管理员和初学者提供深入理解Oracle数据库的路径。 首先,Oracle数据库的基础知识是学习的起点。这包括了解SQL(结构化查询语言),它是与...

    Oracle学习笔记精华版

    Oracle学习笔记精华版是针对数据库管理系统Oracle的一份重要学习资源,涵盖了从基础概念到高级特性的全面知识。Oracle,作为全球广泛使用的大型企业级数据库系统,对于IT专业人员尤其是数据库管理员(DBA)来说,是...

    Oracle学习资源与使用

    Oracle学习资源与使用 Oracle是一种关系数据库管理系统(RDBMS),由Oracle Corporation开发。它是最流行的数据库管理系统之一,广泛应用于企业级应用中。下面是Oracle学习资源与使用的知识点总结: 概述 Oracle...

    从零开始学习ORACLE

    Oracle数据库系统是全球广泛使用的大型关系型数据库管理系统之一,由美国甲骨文公司(Oracle Corporation)开发。对于初学者来说,从零开始学习Oracle需要掌握一系列的基础知识,这些知识涵盖了数据库的基本概念、...

    Oracle学习资料.zip

    本压缩包"Oracle学习资料.zip"显然是针对Oracle数据库的学习资源,旨在帮助初学者和进阶者深入理解和掌握Oracle的相关知识。 首先,Oracle数据库的基础概念是学习的起点。这包括理解数据库是什么,以及Oracle数据库...

    oracle学习有用网址

    以下是基于“oracle学习有用网址”标题与描述所提炼的关键知识点,这些网站资源将为你的Oracle技能提升提供宝贵的帮助: ### 1. ASK TOM(http://asktom.oracle.com) ASK TOM是Oracle官方维护的一个技术问答平台,...

    oracle学习视屏

    "Oracle学习视屏"是一系列针对Oracle数据库的学习资源,涵盖了从基础到进阶的全面教程,适合对数据库技术感兴趣或者需要提升Oracle技能的学习者。 首先,Oracle数据库的基础部分通常包括以下内容: 1. 数据库概念...

    oracle存储过程学习经典入门

    Oracle 存储过程学习经典入门 Oracle 存储过程学习目录是 Oracle 存储过程学习的基础知识,了解 Oracle 存储过程的基本语法、基础知识和一些常见问题的解决方法是非常重要的。本文将从 Oracle 存储过程的基础知识...

    oracle学习练习实验

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,尤其在企业级应用中占据重要地位。对于初学者来说,Oracle的学习是一个逐步深入的过程,涉及到SQL语言、数据库管理、表...祝你在Oracle的学习之旅中取得成功!

    Oracle学习教程&进阶

    本"Oracle学习教程&进阶"旨在帮助你深入理解Oracle的核心概念和技术,提升你的数据库管理和开发能力。以下是对教程各章节内容的详细解析: 1. **查询**:在Oracle中,SQL(结构化查询语言)是进行数据查询和操作的...

    oracle学习文档pdf

    Oracle学习文档PDF是一个涵盖Oracle数据库系统、SQLPLUS实用工具以及SQL和PL/SQL语言深入学习的综合资源。这个文档集合提供了全面的知识,帮助用户从基础到高级层面掌握Oracle技术。 首先,让我们关注SQLPLUS,这是...

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

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

    oracle学习资料6本合集

    这份"oracle学习资料6本合集"提供了一套全面的学习资源,涵盖了Oracle的基础、进阶以及性能优化等多个方面,对于想要深入理解Oracle数据库的人来说是一份宝贵的资料。 首先,"Oracle8i_9i数据库基础.pdf"是针对...

    oracle学习资料 .zip

    这篇“Oracle学习资料”包含了丰富的资源,帮助初学者和DBA(数据库管理员)深入理解Oracle的基础知识和管理技巧。 首先,Oracle基础部分涵盖了数据库的基本概念,如表、视图、索引、存储过程、触发器等。理解这些...

    oracle学习资料集

    Oracle是全球广泛使用的数据库管理系统,尤其在企业级应用中占据主导地位。这个“Oracle学习资料集”包含了多种资源,帮助用户深入理解Oracle的核心概念、管理和...希望这些资料能为你的Oracle学习之路提供有力支持。

    Oracle学习笔记

    Oracle学习笔记是李兴华老师编写的Oracle从入门到精通的学习笔记,涵盖了 Oracle 的多表查询、连接、组函数和分组统计等知识点。在本篇笔记中,李兴华老师详细介绍了多表查询的基本语法、左右连接、交叉连接、自然...

    Oracle学习笔记.doc

    Oracle学习笔记 以下是我这一周学习oracle整理的笔记,包括课堂的内容和自己看额外看的视频补充的一些内容,基本上囊括了所有oracle的基本知识。主要的形式是例子代码加代码解释加运行结果,我个人认为对于没有学习...

    【oracle】oracle查询优化改写

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其性能优化是DBA(数据库管理员)和开发人员的关键技能之一。查询优化是性能优化的核心部分,它涉及到如何以最有效的方式执行SQL查询,从而提高数据检索的...

    Oracle学习资料(很全面)

    这份"Oracle学习资料(很全面)"的压缩包显然包含了丰富的资源,帮助初学者和有经验的DBA深入理解Oracle的各种特性和功能。 首先,让我们来探讨Oracle的基础知识。Oracle数据库是一个关系型数据库管理系统(RDBMS),...

    oracle学习资料大全PDF

    本"Oracle学习资料大全PDF"集合了多种资源,旨在帮助初学者和经验丰富的DBA(数据库管理员)深入理解Oracle的核心概念和技术。 首先,"Oracle10gR1.Step.By.Step.by.Kamus.pdf"是一本逐步指南,详细介绍了Oracle 10...

Global site tag (gtag.js) - Google Analytics