zoukankan      html  css  js  c++  java
  • oracle 基本查询

    1.选择部门30中的员工
    select * from scott.emp where DEPTNO='30';

    2.列出所有办事员(CLERK)的姓名,编号和部门编号
    select ENAME,EMPNO,DEPTNO from scott.emp where JOB='CLERR';

    3.找出佣金高于薪金的员工
    select * from scott.emp where (COMM>SAL);

    4.找出佣金高于薪金60%的员工
    select * from scott.emp where (COMM>SAL*0.6);

    5.找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料
    select * from scott.emp where(JOB='MANAGER' and DEPTNO='10') or(JOB='CLERK'and DEPTNO='20');

    6.找出部门10中所有经理(MANAGER),部门20中所有办事员(CLERK),既不是经理又不是办事员但其薪金大于或等于2000的所有员工的详细资料
    select *from scott.emp where(JOB='MANAGER' and DEPTNO='10') or(JOB='CLERK'and DEPTNO='20')
    or(JOB<>'MANAGER' and JOB<>'CLERK'and  SAL>=2000);

    7.找出收取佣金的员工的不同工作
    select distinct JOB from scott.emp where COMM is not null;

    8.找出不收取佣金或收取的佣金低于100的员工
    select * from scott.emp where(COMM=0 OR COMM<100 );

    9.找出各月倒数第三天受雇的所有员工
    select *from scott.emp where hiredate =last_day(hiredate)-2;

    10.找出早于12年前受雇的员工
    select * from scott.emp where months_between(sysdate,hiredate)/12>=12;


    11.以首字母大写的方式显示所有员工的姓名
    select initcap(ENAME)from scott.emp;

    12.显示正好为5个字符的员工的姓名
    select ENAME from scott.emp where length(ENAME)=5;

    13.显示不带有“R”的员工的姓名
    select ENAME from scott.emp where ENAME not like'%R%';

    14.显示所有员工姓名的前三个字符
    select substr(ENAME,1,3) FROM scott.emp;

    15.显示所有员工的姓名,用“a”替换所有“A”
    select replace(ENAME,'A','a')from scott.emp;

    16.显示满10年服务年限的员工的姓名和受雇日期
    select ENAME,HIREDATE from scott.emp where months_between(sysdate,HIREDATE)/12>=10;

    17.显示员工的详细资料,按姓名排序
    select * from scott.emp order by ENAME;

    18.显示员工的姓名和受雇日期,根据其服务年限,将最老的员工排在最前面
    select ENAME,HIREDATE from scott.emp order by HIREDATE asc;

    19.显示所有员工的姓名、工作和薪金,按工作的降序排列,若工作相同则按薪金排序
    select ENAME,JOB,SAL from scott.emp order by JOB desc,SAL;

    20.显示所有员工姓名、加入公司的年份和月份,按受雇日期所在月排序,若月份相同则将最早年份的员工排在最前面
    select ENAME,to_char(HIREDATE,'YYYY/MM') from scott.emp order by to_char(HIREDATE,'MM'),to_char(HIREDATE,'yyyy') asc;

    21.显示在一个月为30天的情况所有员工的日薪金,忽略余数
    select round(SAL/30)from scott.emp;

    22.找出在(任何年份的)2月受雇的所有员工
    select * from scott.emp where to_char(HIREDATE,'MM')=2;

    23.对于每个员工,显示其加入公司的天数
    select  ENAME ,round(sysdate-HIREDATE)emp_date from scott.emp;

    24.显示姓名字段的任何位置包含“A”的所有员工
    select ENAME from scott.emp where ENAME like '%A%';


    25.以年月日的方式显示所有员工的服务年限
    select ENAME,to_char(HIREDATE,'YYYY')||'年'||to_char(HIREDATE,'MM')||
    '月'||to_char(HIREDATE,'DD')||'日'from scott.emp;

  • 相关阅读:
    lower_bound &&upper_bound
    二分/三分
    $qsort$
    define
    typedef
    string
    queue
    nyoj Arbitrage (Bellman-Ford)
    nyoj 谍战 (最小割最大流)
    nyoj 网络的可靠性(。。。)
  • 原文地址:https://www.cnblogs.com/dingding0505/p/3769887.html
Copyright © 2011-2022 走看看