zoukankan      html  css  js  c++  java
  • oracle训练

    1、显示当前用户;

      show user;

    2、查看当前用户的所有表;

      select * from tab;

    3、如要重复上一条命令,则在sqlplus上输入'/'即可(没成功- -);

    4、取别名:

      select newid "编号",title"标题" ,content"内容" from news;

    5、查询所有的标题(distinct防止重复)

      select distinct title from news;

    6、要求按照特定格式输出(如NO:1,Title:haha,CONTEXT:...)注:||为连接字符串的符号:

      select 'NO:'||newid,'title:'||title from news;

    7、列出有评论的新闻标题;

      select title from news where content is not null; 

    8、要求评论字数大于100,同时标题里面有挂的标题;

      select title from news where length(content)>10 and instr(content,'挂')>0;

    9、判断是否包含字符串的方法:

      select * from news where instr(content,'挂')>0;

      select * from news where content like'%挂%';

    建立员工表和雇佣表:

    1、查询在1981年雇佣的全部雇员信息,between...and 包含等于的情况

      select * from emp where hirdate between '01-jan-81' and '31-dec-81';

    2、要求查询出雇员编号不是 7369、7499的雇员信息

    SQL> SELECT * FROM emp

    WHERE empno NOT IN(7369,7499);

    3、SQL中LIKE语句要注意通配符 % 和 _

    SQL> SELECT * FROM emp

    WHERE hire_date LIKE '%81%';

    4、查看雇员编号不是7369的雇员信息,使用<>或!=

    SQL> SELECT * FROM emp

    WHERE empno<>7369;

    5、要求对雇员的工资由低到高进行排序,升序为默认(ASC),降序(DESC)

    SQL> SELECT * FROM emp

    GROUP BY sal;

    6、查看出部门号为10的雇员信息,查询的信息按照工资从高到低,若工资相等则按雇用日期从早到晚排列

    SQL> SELECT * FROM emp

    WHERE deptno=10

    GROUP BY sal DESC,hiredate ASC;

    7、找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料

    SQL> SELECT * FROM emp

    WHERE (deptno=20 AND job='MANAGER')

    OR (deptno=10 AND job='CLERK');

    8、找出既不是经理又不是办事员但其薪金大于或等于2000的所有员工的资料

    SQL> SELECT * FROM emp

    WHERE job NOT IN('MANAGER','CLERK') AND sal >=2000;

    9、找出有奖金的员工的不同工作

    SQL> SELECT DISTINCT job FROM emp

    WHERE comm IS NOT NULL;

    10、找出各月倒数第3天受雇的所有员工

    SQL> SELECT * FROM emp

    WHERE LAST_DAY(hire_date)-2=hire_date;

    11、找出早于12年前受雇的员工(返回的是月,months_between(date1,date2),date1在后是正数)

     SELECT * FROM emp

    WHERE MONTHS_BETWEEN(sysdate,hiredate)/12 > 12;

    12、显示刚好为5个字符的员工的姓名

    SQL> SELECT ename FROM emp

    WHERE length(ename)=5;

    13、显示不带有"R"的员工的姓名

    SQL> SELECT ename FROM emp

    WHERE ename NOT LIKE '%R%';

    14、显示员工的姓名和受雇日期,将最老的员工排在最前

    SQL> SELECT * FROM emp

    GROUP BY hiredate;

    15、显示所有员工的姓名,加入公司的年份和月份,按受雇日期所在月排序,若月份相同则按年份排序

    SQL> SELECT ename,TO_CHAR(hiredate,'yyyy')year,TO_CHAR(hiredate,'mm') month FROM emp

    ORDER BY month,year;

    16、找出在2月受聘的员工

    SQL> SELECT * FROM emp

    WHERE TO_CHAR(hiredate,'mm')=2;

    17、以年月日方式显示所有员工服务年限

    SQL> 

    select trunc(months_between(sysdate,hire_date)/12) 年,
    trunc(mod(months_between(sysdate,hire_date),12)) 月,
    trunc(mod(sysdate-hire_date,30)) 日
    from EMPLOYEES;

     

    二、连表查询

    1、要求查询雇员的编号、姓名、部门编号、部门名称及部门位置

    SQL> SELECT e.empno,e.ename,d.deptno,d.dname,d.loc

    FROM emp e,dept d

    WHERE e.deptno = d.deptno;

    2、要求查询每个雇员的姓名、工作、雇员的直接上级领导的姓名(表自关联)

    SQL> SELECT e.ename,e.job,m.ename

    FROM emp e,emp m

    WHERE e.mgr = m.empno;

    3、要求查询每个雇员的姓名、工作、雇员的直接上级领导的姓名(表自关联)

    SQL> SELECT e.ename,e.job,m.ename

    FROM emp e,emp m

    WHERE e.mgr = m.empno;

    4、

  • 相关阅读:
    Educational Codeforces Round 85 D. Minimum Euler Cycle(模拟/数学/图)
    Educational Codeforces Round 85 C. Circle of Monsters(贪心)
    NOIP 2017 提高组 DAY1 T1小凯的疑惑(二元一次不定方程)
    Educational Codeforces Round 85 B. Middle Class(排序/贪心/水题)
    Educational Codeforces Round 85 A. Level Statistics(水题)
    IOS中的三大事件
    用Quartz 2D画小黄人
    strong、weak、copy、assign 在命名属性时候怎么用
    用代码生成UINavigationController 与UITabBarController相结合的简单QQ框架(部分)
    Attempting to badge the application icon but haven't received permission from the user to badge the application错误解决办法
  • 原文地址:https://www.cnblogs.com/story1/p/8176602.html
Copyright © 2011-2022 走看看