zoukankan      html  css  js  c++  java
  • 数据库7-22

    oracle 第二章

    练习1  

    1.使用两种方式查询所有员工信息  

    select *  from emp    select EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO  from emp  

    2.查询员工编号、员工姓名、员工职位、员工月 薪、工作部门编号。

     select empno,ename,job,sal,deptno  from emp

    练习2

     1.员工转正后,月薪上调20%,请查询出所有员 工转正后的月薪。  

    select sal*(1+0.2) newsal  from emp

     2.员工试用期6个月,转正后月薪上调20%,请查 询出所有员工工作第一年的月薪所得(不考虑奖 金部分)

     select sal*6+sal*(1+0.2)*6 newsal  from emp

    练习3

     1.员工试用期6个月,转正后月薪上调20%,请查 询出所有员工工作第一年的所有收入(需考虑奖 金部分),要求显示列标题为员工姓名,工资收 入,奖金收入,总收入。

     select  ename "员工姓名",sal*6+sal*(1+0.2)*6 "工资收入",12*comm "奖金收入",6*sal+6*sal*(1+0.2)+12*comm  "总收入"   from emp;

    练习4

     1.员工试用期6个月,转正后月薪上调20%,请查 询出所有员工工作第一年的所有收入(需考虑奖 金部分),要求显示列标题格式为:XXX的第一年 总收入为XXX。

     select  ename|'的第一年总收入为’||(6*sal+6*sal*(1+0.2)+12*comm )
     from emp;

     2.查询员工表中一共有哪几种岗位类型。

     select  distinct job  from emp;

    课后作业

    1.分别选择员工表、部门表、薪资等级表中的所 有数据。

     select  *  from emp;

     select  *  from dept;

     select  *  from salgrade;

     2.分别查看员工表、部门表、薪资等级表的表结 构。

     ????????(并没有运行出来)

    到命令窗口

     desc emp;

     desc dept;

     desc salgrade;  

     3.验证语句

    SELECT DISTINCT deptno,job FROM emp 的结果。  

    mysql

    练习1

    1.使用两种方式查询所有员工(EMP)信息

     select *  from emp;    select empno,ename,job,mgr,hredate,sal,comm,deptno  from emp;

    2.查询(EMP)员工编号、员工姓名、员工职位、员工月薪、工作部门编号

     select empno,ename,job,sal,deptno  from emp;

    练习2

    1.员工转正后,月薪上调20%,请查询出所有员工转正后的月薪。

     select sal*(1+0.2) newsal  from emp;

    2.员工试用期6个月,转正后月薪上调20%,请查询出所有员工工作第一年的年薪所得(不考虑奖金部分,年薪的试用期6个月的月薪+转正后6个月的月薪)

     select sal*6+sal*(1+0.2)*6 newsal  from emp;

    练习3

    1.员工试用期6个月,转正后月薪上调20%,请查询出所有员工工作第一年的所有收入(需考虑奖金部分),要求显示列标题为员工姓名,工资收入,奖金收入,总收入。

     select ename "员工姓名",sal*6+sal*(1+0.2)*6 "工资收入",comm*12 "奖金收入",sal*6+sal*(1+0.2)*6+ifnull(comm*12,0) "总收入"  from emp;

    练习4

    1.查询员工表中一共有哪几种岗位类型。

     select distinct job  from emp;

    练习5

    1. 分别查看员工表、部门表、薪资等级表的表结构

     describe emp;  describe dept;  describe salgrade;

    练习6

    1.查询职位为SALESMAN的员工编号、职位、入职日期。

     select empno,job,hiredate  from emp  where job='SALESMAN';

    2.查询1985年12月31日之前入职的员工姓名及入职日期。

     select ename,hiredate  from emp  where hiredate < '1985-12-31';

    3.查询部门编号不在10部门的员工姓名、部门编号。

     select ename,deptno  from emp  where deptno !=10;

    练习7

    1.查询入职日期在82年至85年的员工姓名,入职日期。

     select ename,hiredate  from emp  where hiredate between '1982-01-01' and '1985-12-31';

    2.查询月薪在3000到5000的员工姓名,月薪。

     select ename,sal  from emp  where sal between 3000 and 5000;

    3.查询部门编号为10或者20的员工姓名,部门编号。

     select ename,deptno  from emp  where deptno =10 or deptno=20;

    4.查询经理编号为7902, 7566, 7788的员工姓名,经理编号。

     select ename,empno  from emp  where empno=7902 or 7566 or 7788;

    练习8

    1.查询员工姓名以W开头的员工姓名。

     select ename  from emp  where ename like 'W_';

    2.查询员工姓名倒数第2个字符为T的员工姓名。

     select ename  from emp  where ename like '%T_';

    3.查询奖金为空的员工姓名,奖金。

     select ename,comm  from emp  where comm  is null;

    练习9

    1.查询工资超过2000并且职位是MANAGER,或者职位是SALESMAN的员工姓名、职位、工资

     select ename,job,sal  from emp  where sal>2000 and job='MANAGER';

    2.查询工资超过2000并且职位是 MANAGER或SALESMAN的员工姓名、职位、工资

     select ename,job,sal  from emp  where sal>2000 and job='MANAGER' or 'SALEMAN';

    3.查询部门在10或者20,并且工资在3000到5000之间的员工姓名、部门、工资。

     select ename,deptno,sal  from emp  where deptno=10 or 20 and sal between 3000 and 5000;

    4.查询入职日期在81年,并且职位不是SALES开头的员工姓名、入职日期、职位。

     select ename,hiredate,job  from emp  where hiredate between '1981-01-01' and '1981-12-31' and job not like 'SALES_';

    5.查询职位为SALESMAN或MANAGER,部门编号为10或者20,姓名包含A的员工姓名、职位、部门编号。

     select ename,job,deptno  from emp  where (job = 'SALESMAN' or 'MANAGER' )and (deptno =10 or 20 )and ename like '%A%';

    练习11

    1.查询入职日期最早的前5名员工姓名,入职日期。

     select ename,hiredate  from emp  order by hiredate  limit 0,5;

    2.查询工作在CHICAGO并且入职日期最早的前2名员工姓名,入职日期。

     select ename,hiredate  from emp,dept  where emp.deptno=dept.deptno and loc='CHICAGO'  order by hiredate  limit 0,2;

    3.按照每页显示5条记录,分别查询第1页,第2页,第3页信息,要求显示员工姓名、入职日期、部门名称。

     select ename,hiredate,deptno  from emp  limit 0,5;  

     select ename,hiredate,deptno  from emp  limit 6,10;

     select ename,hiredate,deptno  from emp  limit 11,15;

    课后作业

    1.查询入职时间在1982-7-9之后,并且不从事SALESMAN工作的员工姓名、入职时间、职位。

     select ename,hiredate,job  from emp  where hiredate > '1982-07-09'and job not like 'SALESMAN';

    2.查询员工姓名的第三个字母是a的员工姓名。

     select ename  from emp  where ename like '__a%';

    3.查询除了10、20号部门以外的员工姓名、部门编号。

     select ename,deptno  from emp  where deptno not between 10 and 20;

    --where deptno not in (10,20);

    4.查询部门号为30号员工的信息,先按工资降序排序,再按姓名升序排序。

     select *  from emp  where deptno =30  order by sal desc, ename ;  

    5.查询没有上级的员工(经理号为空)的员工姓名。

     select ename  from emp  where mgr is null;

    6.查询工资大于等于4500并且部门为10或者20的员工的姓名工资、部门编号。

     select ename,sal,deptno  from emp  where sal>=4500 and deptno = 10 or 20;

    --where sal>=4500 and deptno in (10,20);

  • 相关阅读:
    浅谈流形学习
    变分例子
    变分
    基于深度学习的目标检测技术演进:R-CNN、Fast R-CNN,Faster R-CNN
    模拟退火
    粒子群算法
    JavaEE Tutorials (24)
    洛谷 P2026 求一次函数解析式
    洛谷 P1598 垂直柱状图
    洛谷 P1781 宇宙总统
  • 原文地址:https://www.cnblogs.com/hole/p/11228187.html
Copyright © 2011-2022 走看看