zoukankan      html  css  js  c++  java
  • Oracle表的查询(一)

    表查询
    关键字、字段、表名不加引号时不区分大小写
    引号定义的内容区分大小写
    运算中有null值时,结果为null
    *nvl(字段,赋值):如果字段值为null,则取后面一个值
    *like 关键字:%表示若干个字符,_代表一个字符
    in 关键字:in(条件集合)
    order by:排序
    别名 : 中文加“”
    分组: group by
    max():对字段取最大值
    min(): 对字段取最小值
    having :对分组的结果进行限制操作
    where :对源数据进行限制操作
    sum():对字段求和
    avg():对字段求平均值
    count():统计数据数量
    分组函数只能出现在选择列、having、order by字句
    字句顺序:group by,having ,order by
    规定:多表查询时,条件至少不能少于表的个数-1(排除笛卡尔集)
    between and:字段 between a1 and a2 (字段在a1-a2之间)
    自连接:同一张表的连接查询
    子查询:嵌套查询(在sql中嵌入的select语句),分为单行/多行子查询
    all用法:select ename,sal,deptno from emp where sal>all (select sal from emp where deptno=30);
    any用法:select ename,sal,deptno from emp where sal>any (select sal from emp where deptno=30);
    多行子查询:select * from emp where (deptno,job) = (select deptno,job from emp where ename = 'SMITH');
    经典逻辑示例(显示工资高于自己部门平均工资的员工信息)
    select emp.ename,emp.sal a1.mysal emp.deptno from emp ,(select deptno,avg(sal) mysal from emp group by deptno) a1 where emp.deptno=a1.deptno and emp.sal>a1.mysal;

    分页
    select * from (select a1.* ,rownum rn from (select * from emp) a1 where rownum<=10) where rn>=5;
    所有改动只需该最里层的数据

    用子查询创建表
    create table 表名 (字段1,字段2,字段3) as select empno,ename,sal from emp;

    合并查询:多个查询结果合并为一个
    查询语句 union 查询语句(取并集自动distinct)
    查询语句 union all 查询语句(取并集不自动distinct)
    查询语句 intersect 查询语句(取交集)
    查询语句 minus 查询语句(取差集(在第一个集合存在且不存在于第二个集合中))

    创建数据库
    1、用工具 Database configuration assistant(dbca)
    2、用函数

  • 相关阅读:
    关于在VS2008和VS2010中禁用及卸载Visual Assist X的方法研究——转载
    泛型
    100个常用的Linux命令——转载
    BZOJ1501 (NOI2005 智慧珠游戏)
    Vijos1615 旅行
    Vijos1617 超级教主
    POJ2689 HDU2824 筛法、欧拉函数
    (SPOJ687,后缀数组)
    POJ1743 (Musical Theme,后缀数组)
    POJ2774 Long Long Message
  • 原文地址:https://www.cnblogs.com/-maji/p/7192768.html
Copyright © 2011-2022 走看看