美文网首页
6、oracle之查询

6、oracle之查询

作者: 如果不是废物谁又愿混吃等死 | 来源:发表于2018-08-24 14:40 被阅读0次

    设置查询输出的格式:

    修改查询字段的名字:

    col  col_name heading col_name_new;

    修改字段的输出精度:

    字符:col  col_name  format a10

    数字:col  col_name   format  $9999.9(使用9作为通配格式)

    清除格式:

    col  col_name clear;

    .查询所有字段:

    select * from table_name;

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

    select column1, ...  from table_name;

    给字段设置别名:

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

    去掉表中重复的数据:

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

    运算符和表达式

    算数运算符:+、-、*、/

    比较运算符:>、>=、<、<=、=、<>(<>是不等于)

    逻辑运算符:and、or、not

    在select语句中使用运算符

    在SELECT 语句中使用算术运算符:

    例如:SELECT id,username,salary+200 FROM users;(给公司里面的每一个人的工资都增加了200块钱。)

    注:使用此类运算符的时候,是更改了显示的结果,并不是更改了表的数据,若想更改表中的数据,则需使用update语句。

    在SELECT 语句中使用比较运算符:

    例如:SELECT username FROM user WHERE SALARY>800 AND SALARY <>1800.5;

    查询公司员工工资大于800,不等于1800.5 的姓名。

    比较运算符级别高于逻辑运算符

    逻辑预算符 not> and >or

    模糊查询:LIKE

    通配符:_(只能代表一个字符)

                %(可代替0到多个任意字符)

    例:select * from users where username like 'a%';查询用户名以a开头的用户信息

    select * from users where username like '_a%';;查询用户名第二个字符是a的用户信息

    select * from users where username like '%a%';;查询用户名含有a的用户信息

    范围查询:

    BETWEEN...AND

    例如:查询800到2000之间的员工工资

              SELECT * FROM users WHERE salary>=800 AND salary<=2000

    或者:SELECT * FROM users WHERE salary (NOT)BETWEEN 800 AND 2000

    IN/NOT IN

    注:BETWEEN...AND...,查询的是一个闭合区间的结果,包含头也包含尾。

    例如:查询用户名是aaa或者是bbb的用户信息

               SELECT * FROM users WHERE username (NOT) IN('aaa',''bbb);

    对查询结果进行排序:

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

    ORDER BY (order by 放在最后)column1 (字段的名字)DESC(降序排列)/ASC(升序排列),column2 DESC, column3 ASC,...

    例如按照ID 从大到小排序:

    SELECT * FROM users ORDER BY ID DESC;

    两种通过用户名查出部门的方法:

    CASE column_name  WHEN  value1 THEN result1,... ELSE result]  (当前面的结果都不满足条件的时候,若想给出一个值,就添加上ELSE result)END

    SQL> select username,case username when 'aaa' then '计算机部门'

      2  when 'bbb' then '市场部门' else '其他部门' end as 部门

      3  from users;

    USERNAME            部门

    -------------------- ----------

    aaa                  计算机部门

    bbb                  市场部门

    ccccc                其他部门

    aaa                  计算机部门

    CASE WHEN column_name=value1 THEN result1,...[ELSE result] END

    SQL> select username, case when username='aaa' then '计算机部门'

      2  when username='bbb' then '市场部门' else '其他部门' end as 部门

      3  from users;

    USERNAME            部门

    -------------------- ----------

    aaa                  计算机部门

    bbb                  市场部门

    ccccc                其他部门

    aaa                  计算机部门

    decode函数的应用:

    SQL> select username,decode(username,'aaa','计算机部门','bbb','市场部门','其他'

    )as 部门

      2  from users;

    USERNAME            部门

    -------------------- ----------

    aaa                  计算机部门

    bbb                  市场部门

    ccccc                其他

    aaa                  计算机部门

    相关文章

      网友评论

          本文标题:6、oracle之查询

          本文链接:https://www.haomeiwen.com/subject/cbxbiftx.html