zoukankan      html  css  js  c++  java
  • Oracle数据库 拾漏补缺

    select语句的基本使用

    可以查询需要的列,行,可以进行多表链接,连接查询。

    select e.*,e.sal/30 from p_emp e

    select 后面跟的是要显示的结果,可以是通过运算或者连接符号得出的伪列

    null  空值

    在数据库中不确定的值,未定义的值叫做空值

    空值不能引入到运算中,+ - * / 和空值的结果都是空

    注意:在查询中可以给表定义一个别名以便于多个表的区分

    ||  链接运算符 

    ||  运算符可以链接列或者字符串到另一个列,生成的字符串表达式作为一个目标列

    --将姓名和职位显示到一起
    select e.ename||e.job from p_emp e ;
    --更有好的显示方法
    select e.ename||'   的职务是  '||e.job from p_emp e ;

    ||  操作符也可以用于批量操作

    --生成批量删除表命令
    select 'drop table '|| tname || ';' from tab

    distinct  查询去重复

    --去重复
    select distinct e.job from p_emp e;

    限制数据的返回

    where  关键字

    where 后面跟判断语句  只有表中结果为 true 结果会显示

    注意:如果用字符作条件,需要注意大小写

    查询Student表中“95031”班
    select s.* from student s where s.class= '95031'

    and:连接条件,  与

    or: 或

    not: 非

    in:属于

    后面可以是多个数据,但数据类型需要一致

    查找空值

    不能用 = , 因为在 select 中 = 是比较大小,但是 null 空值 没有大小

    注意: 在 update 中, =  是赋值, = 后面可以跟 null。

    应使用 is  not  null  

    --去空值
    select e.job from p_emp e where e.mgr is not null;

     like 模糊匹配

     exits:exists其实等同于表关联后,只取主表部分内容而已,用exists时 小表在前大表在后

    connect by

    一般用来查找存在父子关系的数据,也就是树形结构的数据;其返还的数据也能够明确的区分出每一层的数据。

    select * from table [start with condition1]
        connect by [prior] id=parentid
    --这种用法就表示从下往上查找数据,可以理解为从叶子节点往上查找父级几点,用第一层数据的parentid去跟表记录里面的id进行匹配,匹配成功那么查找出来的就是第二层数据;
    --上面的那种就是从父级节点往下查找叶子节点。
    select * from table [start with condition1] connect by id= [prior] parentid
    --第一种,修改prior关键字位置
    select t.*, level, CONNECT_BY_ROOT(id)
      from tab_test t
     start with t.id = 4
    connect by t.id = prior t.fid;
    
    --第二种,prior关键字不动 调换后面的id=fid逻辑关系的顺序
    select t.*, level, CONNECT_BY_ROOT(id)
      from tab_test t
     start with t.id = 4
    connect by prior t.fid = t.id;
  • 相关阅读:
    文本效果
    C# 将数据导出到Execl汇总[转帖]
    using方法的使用
    存储过程的相关记录
    Dictionary 泛型字典集合[转帖]
    JS验证
    浅谈AutoResetEvent的用法 [转帖]
    聊聊xp和scrum在实战中的应用问题
    字体下载
    [转] 前端开发工程师如何在2013年里提升自己
  • 原文地址:https://www.cnblogs.com/jiangwz/p/7349931.html
Copyright © 2011-2022 走看看