• mysql学习第一天select


    emp、dept表

    DROP TABLE IF EXISTS `dept`;

    CREATE TABLE `dept` (

    `DEPTNO` int(2) NOT NULL,

    `DNAME` varchar(14) DEFAULT NULL,

    `LOC` varchar(13) DEFAULT NULL,

    PRIMARY KEY (`DEPTNO`)

    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    -- ----------------------------

    -- Records of dept

    -- ----------------------------

    INSERT INTO `dept` VALUES ('10', 'ACCOUNTING', 'NEW YORK');

    INSERT INTO `dept` VALUES ('20', 'RESEARCH', 'DALLAS');

    INSERT INTO `dept` VALUES ('30', 'SALES', 'CHICAGO');

    INSERT INTO `dept` VALUES ('40', 'OPERATIONS', 'BOSTON');

    -- ----------------------------

    -- Table structure for `emp`

    -- ----------------------------

    DROP TABLE IF EXISTS `emp`;

    CREATE TABLE `emp` (

    `EMPNO` int(4) NOT NULL,

    `ENAME` varchar(10) DEFAULT NULL,

    `JOB` varchar(9) DEFAULT NULL,

    `MGR` int(4) DEFAULT NULL,

    `HIREDATE` date DEFAULT NULL,

    `SAL` int(7) DEFAULT NULL,

    `COMM` int(7) DEFAULT NULL,

    `DEPTNO` int(2) DEFAULT NULL,

    PRIMARY KEY (`EMPNO`),

    KEY `FK_DEPTNO` (`DEPTNO`),

    CONSTRAINT `FK_DEPTNO` FOREIGN KEY (`DEPTNO`) REFERENCES `dept` (`DEPTNO`)

    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    -- ----------------------------

    -- Records of emp

    -- ----------------------------

    INSERT INTO `emp` VALUES ('7369', 'SMITH', 'CLERK', '7902', '1980-12-17', '800', null, '20');

    INSERT INTO `emp` VALUES ('7499', 'ALLEN', 'SALESMAN', '7698', '1981-02-20', '1600', '300', '30');

    INSERT INTO `emp` VALUES ('7521', 'WARD', 'SALESMAN', '7698', '1981-02-22', '1250', '500', '30');

    INSERT INTO `emp` VALUES ('7566', 'JONES', 'MANAGER', '7839', '1981-04-02', '2975', null, '20');

    INSERT INTO `emp` VALUES ('7654', 'MARTIN', 'SALESMAN', '7698', '1981-09-28', '1250', '1400', '30');

    INSERT INTO `emp` VALUES ('7698', 'BLAKE', 'MANAGER', '7839', '1981-05-01', '2850', null, '30');

    INSERT INTO `emp` VALUES ('7782', 'CLARK', 'MANAGER', '7839', '1981-06-09', '2450', null, '10');

    INSERT INTO `emp` VALUES ('7788', 'SCOTT', 'ANALYST', '7566', '1987-04-19', '3000', null, '20');

    INSERT INTO `emp` VALUES ('7839', 'KING', 'PRESIDENT', null, '1981-11-17', '5000', null, '10');

    INSERT INTO `emp` VALUES ('7844', 'TURNER', 'SALESMAN',

    '7698', '1981-09-08', '1500', '0', '30');

    INSERT INTO `emp` VALUES ('7876', 'ADAMS', 'CLERK', '7788', '1987-05-23', '1100', null, '20');

    INSERT INTO `emp` VALUES ('7900', 'JAMES', 'CLERK', '7698', '1981-12-03', '950', null, '30');

    INSERT INTO `emp` VALUES ('7902', 'FORD', 'ANALYST', '7566', '1981-12-03', '3000', null, '20');

    INSERT INTO `emp` VALUES ('7934', 'MILLER', 'CLERK', '7782', '1982-01-23', '1300', null, '10');

    -- 第一章
    -- 查询所有员工编号
    SELECT EMPNO
    FROM emp;
    -- 第二章
    -- SELECT empno,ename,deptno
    -- FROM emp;

    -- SELECT *
    -- FROM emp;

    -- 练习1
    SELECT empno,ename,job,sal,deptno
    FROM emp;

    -- 2.查询员工工资增加100元后的情况
    SELECT sal + 100,sal -100,sal*2,sal/3
    FROM emp;

    -- 3.查询员工一年工资再加上100的结果
    SELECT sal*2+100
    FROM emp;

    -- 4.查询员工每个月提高100元后的年工资收入
    SELECT 12*(sal+100)
    FROM emp;

    -- 练习2
    -- 1.员工转正后,月薪上调20%,请查询出所有员工转正后的月薪。
    SELECT sal*1.2
    FROM emp;
    -- 2.员工试用6个月,转正后的月薪上调20%,
    -- 请查询出所有员工工作一年的年薪所得(不考虑奖金部分,年薪的使用期为6个月的月薪+转正后6个月的月薪)
    SELECT sal*6+SAL*6*1.2
    FROM emp;

    -- 5.求员工月收入
    SELECT sal + COALESCE(comm,0)总收入
    FROM emp;

    -- 练习3
    -- 员工试用期6个月,转正后月薪上调20%,请查询出所有员工工作第一年的所有收入(需考虑奖金部分),要求显示列标题为员工姓名、工资收入、奖金收入、总收入
    SELECT ename 员工姓名,sal*6+sal*6*1.2 工资收入,COALESCE(comm,0)*6 奖金收入,sal*6+sal*1.2*6+COALESCE(comm,0)*12
    FROM emp;
    -- 6.从emp表中查询有哪些部门
    SELECT DISTINCT deptno
    FROM emp;

    -- 练习4
    -- 1.查询员工表中一共有哪几种岗位类型
    SELECT DISTINCT job
    FROM emp;

    -- 练习5
    -- 查看表结构

    DESC emp;

    -- 查询在20部门工作的员工信息
    SELECT *
    FROM emp
    where deptno = 20;

    -- 8.查询职位是CLERK的员工信息
    SELECT *
    FROM emp
    where job = 'CLERK';

    -- 9、查询入职日期在1980年1月1日以后入职的员工信息
    SELECT *
    FROM emp
    where HIREDATE > '1980-01-01';

    -- 练习6
    -- 查询职位为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;

    -- 10、查询工资在1000到1500之间的员工信息
    SELECT *
    FROM emp
    where SAL BETWEEN 1000 AND 1500;

    -- 查询7902、7566、7788所管理的员工信息
    SELECT *
    FROM emp
    WHERE MGR in(7902,7566,7788);

    -- 练习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 in(10,20);
    -- 4、查询经理编号为7902、7566、7788的员工姓名、经理编号
    SELECT ENAME,MGR
    FROM emp
    WHERE MGR IN(7902,7566,7788);

    -- 12、查询姓名中以S开头的员工信息
    SELECT *
    FROM emp
    where ENAME LIKE 'S%';
    -- 13、查询姓名中第二个字母是L的员工信息
    SELECT *
    FROM emp
    WHERE ENAME LIKE '_L%';

    -- 查询姓名中包含S的员工信息
    SELECT *
    FROM emp
    WHERE ENAME LIKE '%S%';

    -- 15、查询职位以MAN_开头的雇员信息
    SELECT *
    FROM emp
    WHERE JOB LIKE 'MAN@_%' ESCAPE '@';

  • 相关阅读:
    鼠标移上,内容显示
    Jquery横向菜单和纵向菜单的收起与展开
    适配不同大小浏览器——固定排班
    jQuery UI Widgets-menu
    Web前端的35个jQuery小技巧-转载
    android中listview中包含ratingbar响应不了点击事件
    点击空白区域,键盘向下收缩
    时间轮 Dialog 最简单的时间轮
    android 获取电话本中的联系人列表
    《网红经济》读后感
  • 原文地址:https://www.cnblogs.com/makangning/p/9392226.html
Copyright © 2020-2023  润新知