zoukankan      html  css  js  c++  java
  • 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的条件。

     

     

     

     

      

     

     

  • 相关阅读:
    收集的java面试题
    重载和重写的区别
    java中封装的概念
    java中多态的概念
    vue中的$on,$emit,$once,$off源码实现
    js bind的实现
    对象的深拷贝
    v-for的简单实现
    v-for的显示过滤/排序结果
    ES6的数组方法之Array.from
  • 原文地址:https://www.cnblogs.com/jiayouxiage/p/6755824.html
Copyright © 2011-2022 走看看