美文网首页
2019-03-22 条件查询、特殊比较运算符、逻辑运算符、排序

2019-03-22 条件查询、特殊比较运算符、逻辑运算符、排序

作者: 北街九条狗 | 来源:发表于2019-03-22 19:03 被阅读0次

    条件查询

    -- 数值型条件
    -- 查询10部门所有员工信息
    select *
    from emp
    where deptno = 10;
    
    -- 查询工资大于1500的员工信息
    select *
    from emp
    where sal>1500;
    
    -- 字符型条件
    -- binary(用于区分大小写)
    -- 查询SMITH的员工信息
    select *
    from emp
    where binary ename ='SMITH';
    
    -- 日期型:单引号,'年-月-日'
    -- 查询在1981年后入职的员工信息
    select *
    from emp
    where hiredate>'1981-12-31';
    
    

    特殊比较运算符

    
    -- between...and... 在什么什么之间
    -- 查询工资在1500到3000之间的员工及工资
    select ename,sal
    from emp
    where sal between 1500 and 3000 -- [1500,3000]
    
    -- in (参数列表):等于参数列表中的任意一个
    -- 查询10部门和20部门的员工姓名,工资,部门编号
    select ename,sal,deptno
    from emp
    where deptno in (10,20);
    
    -- like 像。。。模糊查询
    -- % :代表任意多个字符
    -- _ :代表一个字符
    
    -- 查询姓名以S开通的所有员工信息
    select *
    from emp
    where binary ename like 'S%';
    
    -- 查询姓名以H结尾的所有员工信息
    select *
    from emp
    where binary ename like '%H';
    
    -- 查询姓名有A的所有员工信息
    select *
    from emp 
    where binary ename like '%A%';
    
    -- 查询姓名第二个字母是A的所有员工信息
    select *
    from emp 
    where binary ename like '_L%';
    
    -- 查询姓名倒数第三个字母是A的所有员工信息
    select *
    from emp 
    where binary ename like '%A__';
    
    -- ========================================
    -- 使用like的的问题-->不要用like去通配时间
    -- ========================================
    
    -- is null:null不能作为比较条件
     
    
    

    逻辑运算符

    -- 逻辑运算符
    -- and(&&) or(||) NOT
    -- 查询20部门,工资高于1500
    select *
    from emp
    where deptno=20 and sal>1500;
    
    -- 查询20部门或工资高于1500
    select *
    from emp
    where deptno=20 or sal>1500;
    
    -- 查询工资在1500到3000之间并且20部门的员工信息
    select *
    from emp
    where sal>=1500 and sal<=3000 and deptno=20;
    
    -- and 和 or 的优先级问题:and 高于 or
    
    -- not
    -- 查询工资不在1500到3000之间的员工及工资
    select ename,sal
    from emp
    where sal not between 1500 and 3000
    
    

    排序

    -- 排序
    -- ①按照列名排序 asc 代表升序 desc 降序
    select *
    from emp
    order by sal asc
    
    select *
    from emp
    order by sal desc;
    
    -- 查询30部门按照入职时间降序排序
    select *
    from emp
    where deptno=30
    ORDER BY hiredate desc;
    
    -- ②按照列别名排序
    select ename ,sal,comm,sal*10 年薪
    from emp
    where deptno=20
    order by 年薪 desc;
    
    -- ===========================
    -- 注意:列别名不能在where中使用
    -- ===========================
    
    -- ③按照多列
    -- 查询所有员工信息,要求部门升序工资降序
    select *
    from emp
    order by deptno,sal desc;
    
    -- ④按照列序号
    select ename,sal
    from emp
    order by sal desc; 
    
    select ename,sal
    from emp
    order by 2 desc ;
    

    分页

    -- 分页 limit(索引从哪开始,往下查几条)
    -- 如查第6条的时候 到第十条 limt 5,5
    select *
    from emp
    limit 0,5
    

    null 的影响

    not in (参数列表中有null),将无法使用;对非空无影响

    相关文章

      网友评论

          本文标题:2019-03-22 条件查询、特殊比较运算符、逻辑运算符、排序

          本文链接:https://www.haomeiwen.com/subject/icarvqtx.html