• oracle中scott用户下四个基本表SQL语句练习


    --选择部门中30的雇员
    SELECT * from emp where DEPTNO=30;
    --列出所有办事员的姓名、部门、编号
    --采用内连接方式,也就是等值链接,也是最常用的链接
    SELECT ename,empno,dname from emp e INNER JOIN
    dept d on e.deptno=d.deptno where job='CLERK';
    --找出佣金高于薪金的雇员
    select * from emp where comm>sal;
    --找出佣金高于薪金60%的雇员
    select * from emp where comm>sal*0.6;
    --找出部门10中所有经理和部门20中所有办事员
    select * from emp where(deptno=10 and job=UPPER('manager'))
    or (deptno=20 and job='CLERK');
    --找出部门10中所有经理和部门20中所有办事员,既不是经理也不是办事员,
    --但是其薪金>=2000的所有雇员的资料
    select * from emp where(deptno=10 and job=UPPER('manager'))
    or (deptno=20 and job='CLERK')
    or (job<>upper('manager') and job<>upper('clerk') and sal>=2000);
    --找出收取佣金的雇员的不同工作
    select distinct job from emp where comm>0;
    --找出不收取佣金或者是佣金低于100的雇员
    select * from emp where nvl(comm,0)<100;
    --找出各月最后一天受雇的所有雇员
    select * from emp where hiredate=last_day(hiredate);
    --找出早于25年之前受雇的员工
    select * from emp
    where "MONTHS_BETWEEN"(sysdate, HIREDATE)/12>25;
    --显示只有首字母大写的所有雇员的姓名
    --"INITCAP"(ch)函数是将每个单词的第一个字母大写,其他字母变为小写
    select ename from emp where ename=initcap(ename);
    --显示正好为6个字符的雇员的姓名
    select ename from emp where length(ename)=6;
    --显示不带有like的雇员的姓名
    select ename from emp where ename not like '%R%';
    --或者是这样写
    select ename from emp where instr(ename,'R')=0;
    --显示所有雇员姓名的前三个字母
    select substr(ename,1,3) from emp;
    --显示所有雇员的姓名,用a替代A
    select replace(ename,'A','a') from emp;
    --显示所有雇员的姓名以及满10年服务年限的日期
    select ename ,add_months(hiredate,12*10) as 服务年限的日期 from emp;
    --显示雇员的详细资料,按姓名排序
    select * from emp order by ename ;
    --显示雇员的姓名,根据其服务年限,将最老的的雇员排在最前面
    select ename from emp order by hiredate desc;
    --显示所有雇员的姓名、工作和薪金,按工作的降序排序,工作相同的按薪金进行升序排序
    select ename,job,sal from emp order by job desc,sal asc;
    --显示所有雇员的姓名和加入公司的年份和月份
    --按雇员受雇日期所在月排序,将最早年份的项目排在最前面
    select ename,"TO_CHAR"(hiredate,'yyyy') as 年份,"TO_CHAR"(hiredate,'mm') as 月份
    from emp order by hiredate asc;
    --显示在一个月为30天的情况下所有雇员的日薪金
    select sal/30"日薪金" from emp;
    --找出在任何年份2月受聘的所有雇员
    select ename as 雇员姓名,hiredate as 受雇日期
    from emp where to_char(hiredate,'mm')='02';
    --对于每个雇员,显示其加入公司的天数
    select ename,sysdate-hiredate from emp;
    --显示在姓名中包含有字母A的雇员的姓名
    select ename from emp where ename like '%A%';
    --或者
    select ename from emp where instr(ename,'A',1)>0;
    --查看当前用户下的所有表
    select * from tab;

    恒之贵,何必三更起五更睡;最无益,只怕一日曝十日寒。
  • 相关阅读:
    PE 合并节
    VirtualAddress与VirtualSize与SizeOfRawData与PointerToRawData的关系
    .net core publish 找不到视图
    c++ rc 文件内包含中文字符导致在unicod环境下编译乱码
    .net 5.0 ref文件夹的作用
    .net 5.0项目升级工具
    HttpWebRequest DNS缓存清理
    .net 5.0 发布命令总结
    关于dll not found 排查解决
    关于win7 无法识别sha256签名导致驱动无法安装的问题
  • 原文地址:https://www.cnblogs.com/flqcchblog/p/4319294.html
Copyright © 2020-2023  润新知