• oracle查询


    查询:

    基本查询语句:select [Distinct] 列名 .. From 表名 [where condition]

    FROM (可以多表查询)

    WHERE 子句可带多个条件

    DISTINCT 显示不重复数据

     

    SQL*PLUS中设置格式

    1.更改显示的字段名:COLUMNS|COL column_name HEADING new_name

    注:更改的是查询后结果中的字段名,而非表中的字段名

    2.设置结果显示的格式:COLUMN|COL column_name FORMAT dataformat

      设置【字符型】数据的格式:a开头,后面指定长度

      设置【数值型】数据的格式:用“9”代表一位数字,如显示4位数字,则格式为9999;如显示4位数字并加1位小数,则格式为9999.9

    3.清楚之前设置的格式:COLUMN|COL column_name CLEAR

     

    例:

    col 字段名 heading 别名;(指定字段名结果显示为别名)

    col 字段名 format a10;(指定结果显示的字符长度)

    显示位数用9表示一个数字 如 99.9代表两个整数,一位小数

    col salary format 999.9  如果设置的长度超过长度 会显示#####

    col salary format $9999.9 前面会带一个美元符号

    col salary clear;清除格式

     

    查询表中所有字段及指定字段:

    1.查询所有字段:

    select * from table_name;

    2.查询指定字段:按顺序显示出来

    select column1, ...  from table_name;

     

    给字段设置别名:

    > select 字段名 as(可省略) 别名, ... from 表名;

    去掉表中重复的数据:

    > select distinct 字段名 as(可省略) 别名, ... from 表名;

    运算符和表达式

    1、表达式 = 操作数 + 运算符

    2、oracle中的操作数可以是常量、变量和字段

    3、oracle中的运算符:算数运算符(+,-,*,/)、比较运算符(>,<,=,>=,<=,<>)、逻辑运算符(and or not)

     

    and:真真为真,其余为假 or:假假为假,其余为真

    例如:

    select id,username,salary+200 from users;(所有工资结果加200)

    select username from users where salary>800 and salary<>1800.5;

    1:不等于用!=或者<>表示

    2:在查询语句中,使用算术运算法对字段进行运算,并不影响真正表中的数据,只有update可以

     

    逻辑运算符的优先级:按not、and、or的顺序依次递减;

    比较运算符的优先级高于逻辑运算符

     

    模糊查询

    1、通配符的使用:

    一个_只能代表一个字符,一个%可以代表0到多个任意字符

    2、查询以a开头的用户名:

    select * from users where username like 'a%';

    3、查询第二个字符为a 的用户名:

    select * from users where username like '_a%'

     

    BETWEEN...AND   

    可以把小的值放到BETWEEN后面大的值放到AND后面,表示从什么值到什么值之间。

    范围查询  

    select * from users where salary between 800 and 2000;这个查询是一个闭合空间,包括800和2000

    select * from users where salary not between 800 and 2000;查询不在800到2000之间。

     

    对查询结果排序:

    语法:SELECT [DISTINCT] column_name1,...* FROM table_name [WHERE conditions]

    ORDER BY column_name1 DESC|ASC,...

    其中,DESC是降序排序,ASC是升序排序,默认情况下是升序排序;当按多个字段排序时,需要第一个字段重复时才按第二个字符排序

     

    case...when语句的使用
    语法1:CASE column_name WHEN value1 THEN result1 ... [ELSE resultn] END;
    语法2:CASE WHEN column_name=value1 THEN result1 ...[ELSE resultn] END;
    注:value1、result1需要加单引号,表示字符串,当多个when...then...使用时,中间用空格隔开即可,不能用逗号隔开。

    case...when 语句的使用([when后面跟的是判断的条件,then是条件为真是显示出来的东西]):
    1、select username,case usersname when 'aaa' then '计算机部门'
    when 'bbb' then '市场部门' else '其他部门' end as 部门
    from users;
    2、select username,case when username='aaa' then '计算机部门'
    when username='bbb' then '市场部门' else '其他部门' end as 部门
    from users;
    *这个的用法就比较灵活*后面可以跟salary的条件。

     

     

     

     

      

     

     

  • 相关阅读:
    图解MBR分区无损转换GPT分区+UEFI引导安装WIN8.1 分类: Windows-嵌入式 生活百科 2015-06-26 11:57 475人阅读 评论(2) 收藏
    使用EFI引导从硬盘(U盘)安装Win7的图文教程 分类: Windows-嵌入式 生活百科 2015-06-25 16:40 320人阅读 评论(0) 收藏
    嵌入式Linux基于framebuffer的jpeg格式本地LCD屏显示 分类: TI-AM335X arm-linux-Ubuntu 2015-06-24 10:41 338人阅读 评论(0) 收藏
    Linux开机启动图片修改 分类: arm-linux-Ubuntu TI-AM335X 2015-06-19 16:12 390人阅读 评论(0) 收藏
    Linux下LCD 10分钟自动关屏的问题总结 分类: TI-AM335X arm-linux-Ubuntu 2015-06-19 15:43 369人阅读 评论(1) 收藏
    am335x在ubuntu下使用StarterWare编写裸机程序并在CCS中用Jlink调试 分类: TI-AM335X 2015-06-18 11:27 276人阅读 评论(0) 收藏
    IE 首页锁定
    LevelDb 资料整理
    c++ windows error C2662 C2663
    2018 ACM 网络选拔赛 青岛赛区
  • 原文地址:https://www.cnblogs.com/jiayouxiage/p/6755824.html
Copyright © 2020-2023  润新知