oracle学习笔记——查询

基本查询语句

    SELECT [DISTINCT] column_name1,......|*

    FROM table_name

    [WHERE conditions];

    //[DISTINCT] 设置 查询结果不重复显示

在SQL Plus中设置 查询结果 显示的格式

    //COLUMN  可简写为 COL

    COLUMN column_name HEADING new_name;        //设置查询时,列显示的字段名。new_name可以是中文。

    COLUMN column_name FORMAT dataformat;        //设置查询时,列显示的格式

    COLUMN column_name CLEAR;        //清除格式

    例:COLUMN username FORMAT a10;    //设置字符类型 显示的长度

           COLUMN id FORMAT 999.9;    //设置数字类型 的格式

           COLUMN id FORMAT $999.9;    //设置数字类型 的格式

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

    SELECT * FROM table_name;

    SELECT column1_name,... FROM table_name;

查询时,给字段设置别名

    //COLUMN  可简写为 COL

    COLUMN column_name HEADING new_name;        //设置查询时,列显示的字段名。new_name可以是中文。

    SELECT column1_name AS new_column1_name ,... FROM table_name;    //new_column1_name 可以是中文。

运算符和表达式

  • 算数运算符

运算符

含义

+

-

*

/

**

乘方

  • 逻辑运算符

运算符

含义

AND

两者同时为真,结果才为真

OR

有一个为真,结果就为真

NOT

取反

  • 比较运算符

运算符

含义

IS NULL

如果测试值为NULL,则返回值为true,否则为false

LIKE

比较字符串,结合 % 进行模糊查询

BETWEEN

测试值是否在指定的范围内

IN

测试值是否在一系列的值中

  • 关系运算符

运算符

含义

=

等于

!=, <>,~=

不等于

< 、 <=

小于 小于等于

> 、 >=

大于 大于等于

  • 连接运算符

运算符

含义

11

用于连接两个字符串

    例:SELECT id+20 from userinfo;


条件查询

    优先级:not > and > or

    例:SELECT * FROM userinfo WHERE username='xxx';


模糊查询

LIKE

比较字符串,结合 % 进行模糊查询

    通配符:    _ 一个只能代表一个字符。     % 代表0到多个字符。

        例:select * from userinfo where username like 'x%';


范围查询

    BETWEEN...AND

        例:select * from userinfo where id BETWEEN 0 AND 20;

    IN/NOT IN

        例:select * from userinfo where username in ('xxx','bbb');


查询结果排序

    DESC/ASC  降序/升序

    SELECT ... FROM ... [WHERE ...]

    ORDER BY column1_name DESC/ASC , ...;

        例:select * from userinfo order by id desc;


case......when语句

    第一种形式:

        CASE column_name

        WHEN value1 

        THEN result1,......

        [ELSE result] END;

            例:SELECT username,CASE username 

                    WHEN 'xxx' THEN '计算机部门'

                    WHEN 'bbb' THEN '市场部门'

                    ELSE '其他部门' END as 部门

                    FROM userinfo;

    第二种形式:

        CASE 

        WHEN column_name = value1 THEN result1,...

        [ELSE result] END;

            例:SELECT username, CASE 

                    WHEN username = 'xxx' THEN '计算机部门' 

                    WHEN username = 'bbb' THEN '市场部门' 

                    ELSE  '其他部门'  END  as  部门

                    FROM userinfo;


decode函数

    DECODE(column_name,value1,result1,value2,result2,defaultvalue)

        例:SELECT username,DECODE(username,'xxx','计算机部门','bbb','市场部门','其他部门') as 部门  from userinfo;



你可能感兴趣的:(Oracle)