zoukankan      html  css  js  c++  java
  • Oracle学习笔记(5)——查询

    • 基本查询语句
      • SELECT [DISTINCT] column_name1,...|* FROM table_name [WHERE conditions]

    • 在SQL*PLUS中设置格式
      • 更改显示字段名:COLUMN column_name HEADING new_name   (注意COLUMN能够简写成COL)
        • 比如:
                                     col username heading 用户名;
                                     select * from users;
    • 设置显示结果的格式:COLUMN column_name FORMAT dataformat;  (注意COLUMN能够简写成COL。字符类型仅仅能设置显示的长度)
      • 比如
                                col username format a10;  注意:字符类型用a代表。a10表示设置字符类型长度为10。数值类型用9表示
                                select * from users;
                                col salary format 9999.9;  注意:数值类型用9表示
                                select * from users;
    • 清除之前设置过的格式:COLUMN column_name CLEAR;
      • 比如:
                                col username clear;
                                col salary clear;

    • 查询表中的全部字段及指定字段
      • 查询全部字段:SELECT * FROM table_name;
      • 查询指定字段:SELECT column1_name,column2_name... FROM table_name;

    • 给字段设置别名(*给字段设置别名是针对查询结果进行的,并没有更改字段的名字)
      • SELECT column_name AS new_name,... FROM table_name; 注意:AS能够省略。用空格隔开原来的字段名和新字段名就可以。
        • 比如:
                            select id as 编号,username as 用户名,salary  工资 from users;

    • 运算符和表达式
      • 表达式 = 操作数 + 运算符
      • Oracle中的操作数能够有变量,常量和字段
      • 运算符
        • 算数运算符(+,-。*。/)
        • 比較运算符(>,>=,<,<=,=,<>)
        • 逻辑运算符(and,or,not)。优先级:按not、and、or的顺序依次递减。比較运算符的优先级高于逻辑运算符
    • 在SELECT语句中使用运算符(省略)
    • 带条件的查询
      • 单一条件的查询
        • 查询用户名为aaa的员工薪水:select salary from users where username='aaa';
      • 多条件的查询
        • 查询名字是aaa。或者工资在800到2000之间的员工信息
                                    select * from users where username='aaa' or (salary > 800 and salary <=2000)

    • 模糊查询 LIKE
      • 通配符的使用( _ 、%)
        • 一个 _ 仅仅能代表一个字符
        • %能够代表0到多个随意字符
      • 使用LIKE查询
        • 例:查询用户名以a开头的用户信息。select * from users where username like 'a%';
        • 例:查询用户名的第二个字符是a的用户信息。select * from users where username like '_a%';
        • 例:查询用户名中含有a的用户信息。

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


    • 范围查询  
      • BETWEEN ... AND  闭区间。

        • 例:查询员工薪水在800和2000之间的全部员工信息:select * from users where salary between 800 and 2000;  注意包括800和2000
        • 例:查询员工薪水不在800和2000之间的全部员工信息:select * from users where salary not between 800 and 2000;
      • IN / NOT IN
        • 查询用户名是aaa或者bbb的用户信息:select * from users where username in('aaa','bbb');
        • 查询用户名不是aaa。也不是bbb的用户信息:select * from users where username not in('aaa','bbb');

    • 对查询结果排序
      • SELECT ... FROM ... [WHERE ...] ORDER BY column1 DESC/ASC,...;   DESC:降序,ASC:升序
        • 例:select * from users order by id desc;
        • 例:select * from users order by id desc,salary asc;

    • case...when语句的使用
      • 作用:就是在我们查询语句其中能够依据我们字段不同的值。还能够显示不同的结果。
      • CASE column_name WHEN value1 THEN result1,... [ELSE result] END;
        • 样例:依据不同的username来得到他所在的部门
                                select username,case username when 'aaa' then '计算机部门'
                                when 'bbb' then '市场部门' else '其它部门' end as 部门 from users;
    • CASE WHEN column_name=value1 THEN result1,... [ELSE result] END;
      • 样例:
                                select username,case when username='aaa' then '计算机部门'
                                when  username='bbb' then '市场部门' else '其它部门' end as 部门 from users;
      • 样例:
                                select username,case when salary<800 then '工资低' when salary>5000 then '工资高' end as 工资水平 from users;

    • decode函数的使用
      • decode (column_name,value1,result1,...,defaultvalue);
        • 样例:
                                select username,decode(username,'aaa','计算机部门','bbb','市场部门','其它') as 部门 from users;


  • 相关阅读:
    iSCSI 原理和基础使用
    Kerberos原理和基础小结
    LDAP学习小结【仅原理和基础篇】
    nmcli 学习小结
    如何让百度收录自己的网站?
    dedecms SESSION变量覆盖导致SQL注入漏洞修补方案
    cms网站模板收集
    学会这些装饰技巧,分分钟让你家看起来挑高一倍!
    15 个最佳 jQuery 翻书效果插件
    CSS动画简介
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/7277813.html
Copyright © 2011-2022 走看看