首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    mysql条件函数

    ——周国平《风中的纸屑》 在我们日常开发中,有时可能会在SQL中写一些条件,例如这里一个例子 这里有这样一张表,数据如下: 如果我们需要把未认证(状态为NOT_AUTH)的用户放到前面排序显示,在不影响分页的情况下...我们可以这么写 SELECT *,IF(status='NOT_AUTH','NOT_AUTH',null) AS sort FROM `user` ORDER BY sort DESC 这里使用到了MYSQL...的IF函数 IF([条件],[为true时值],[为false时值]) 例如我们需要整体排序,认证中的在最前,然后是未认证的,最后是已认证的 我们则可以使用MYSQL中的CASE、WHEN、THEN、ELSE...WHEN STATUS = 'HAS_AUTH' THEN 2 ELSE 999 END ) AS sort FROM `user` ORDER BY sort ASC 这里 CASE WHEN [条件...1] THEN [条件1满足时值] WHEN [条件2] THEN [条件2满足时值] WHEN [条件3] THEN [条件3满足时值] ELSE [条件都不满足时值] END Tips:在除了查询语句中

    3.4K10

    mysql条件查询

    进阶2:条件查询 以下面如图数据库为例编写条件查询案例 语法: select 查询列表 from 表名 where 筛选条件; 分类: 一、按条件表达式筛选 简单条件运算符:> <...and or not &&和and:两个条件都为true,结果为true,反之为false ||或or: 只要有一个条件为true,结果为true,反之为false !...salary>15000; 三、模糊查询 like between and in is null|is not null 1. like 特点: 1.一般和通配符搭配使用 通配符: % :任意多个字符,包含...0个字符 _ :任意单个字符 案例1:查询员工名中包含字符a的员工信息 select * from employees where last_name like '%a%'; #abc 案例...last_name LIKE '_$_%' ESCAPE '$'; where last_name LIKE '_\_%'; 2. between and 1.使用between and 可以提高语句的简洁度 2.包含临界值

    3.4K00

    MySQL ORDER BY IF() 条件排序

    在做sqlzoo的时候,碰到一个SQL的排序问题,他把符合条件的单独几行,可以放在查询结果的开始,或者查询结果的尾部 通过的方法就是IN语句(也可以通过IF语句) 自己做了个测试,如下,这个是表的所有内容...正如上面一段说的,你可以把if 语句看成是独立的column,所以你也可以为他添加排序条件ASC或者DESC,当然默认是ASC,可以不写。...使用ORDER BY配合IN语句 上面一个是满足单个条件,返回0或者1,那如果需要用到一个范围呢?...这样的话,birth IN语句会进行判断,如果birth满足条件,返回1,不满足,返回0 所以,满足条件的两行,因为返回值是1,进行ASC排序的时候,就被放置在了最后。

    3.7K50

    MySQL where条件探索

    MySQL查询数据过程探索 等值匹配原则 通过主键查找,不需要回表,因为主键下面的叶子节点记录本行的所有数据。...通过唯一索引查找,如果你select的不是这个唯一索引而是类似select *这样非次唯一索引列,那么需要回表,通过主键找到本行所有数据 通过联合索引,情况同唯一索引,如果select的内容不是此索引包含的列...而select name from demo where age = 18就不需要回表了,因为此索引中包含name列的值。...最左前缀匹配原则,仅针对联合索引 这个规则就像盖楼房,得一层盖好再盖另一层,不可能直接盖3楼,mysql来了也不行。...order by优化 大概懂什么意思了,尽量order索引,因为索引本来就是排好序的,select啥呢,还是索引包含的列或者id,为啥呢,此索引树种的叶子节点就保存这索引列的值和id,为啥还有

    1.8K20

    mysql条件查询

    文章目录 进阶2:条件查询 分类: 一、按条件表达式筛选 二、按逻辑表达式筛选 三、模糊查询 一、按条件表达式筛选 案例1:查询工资>12000的员工信息 案例2:查询部门编号不等于90号的员工名和部门编号...案例1:查询工资在10000到20000之间的员工名、工资以及奖金 案例2:查询部门编号不是在90到110之间,或者工资高于15000的员工信息 三、模糊查询 1. like 案例1:查询员工名中包含字符...语法: select 查询列表 from 表名 where 筛选条件; 分类: 一、按条件表达式筛选 简单条件运算符:> < = !...三、模糊查询 like between and in is null|is not null 1. like 特点: 1.一般和通配符搭配使用 通配符: % :任意多个字符,包含0个字符 _ :任意单个字符...案例1:查询员工名中包含字符a的员工信息 select * from employees where last_name like '%a%'; #abc ?

    3.5K20
    领券