MySQL使用IF语句及用case语句对条件并结果进行判断
目录
- 一、前期准备
- 二、IF语句
- 1、场景一
- 2、场景二
- 三、CASE语句
一、前期准备
CREATE TABLE `t1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `jgid` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (1, '二二', 2); INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (2, '李四', 2); INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (4, '七七', 3); INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (5, '小猕猴', 1); INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (6, '小米粥', 1); INSERT INTO `avlicy`.`t1`(`id`, `name`, `jgid`) VALUES (7, '小哈吧', 1);
二、IF语句
1、场景一
如果id是基数则是,否则则否
SELECT t1.*, IF(MOD(t1.id,2)=0 ,'是','否') AS 是否被二整除 FROM t1
2、场景二
如果id是偶数则判断id是否与jgid相等,如果Id是奇数则判断id是否与jgid不相等
SELECT t1.* FROM t1 WHERE IF( MOD ( t1.id, 2 )= 0, id = jgid, id <> jgid )
三、CASE语句
根据jgid赋予不同的角色
SELECT *, CASE WHEN jgid = 1 THEN '学生' WHEN jgid = 2 THEN '教师' WHEN jgid = 3 THEN '家长' ELSE '' END AS '角色' FROM t1
到此这篇关于MySQL使用IF语句及用case语句对条件并结果进行判断 的文章就介绍到这了,更多相关MySQL IF语句 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
MySQL控制流函数(-if ,elseif,else,case...when)
目录 前言 IF(expr1,expr2,expr3) 简单逻辑判断 IFNULL(v1,v2) 空值替换 ISNULL(expression) 空值检测 NULLIF(expr1, expr2) 字符串比较 case 函数 实操案例 IF ELSE 做为流程控制语句使用 前言 不管是任何的编程语言,逻辑判断是必不可缺的一个板块:在Python.C.java这些火热的编程语言下,逻辑判断也是编程语言的一个亮点. IF(expr1,expr2,expr3) 简单逻辑判断 如果第一个条件成立,那么
-
MYSQL中有关SUM字段按条件统计使用IF函数(case)问题
今天群里有人问了个问题是这样的: 然后有群友是这样回答的 复制代码 代码如下: select name,sum(case when stype=4 then money*(-1) else money end ) as M from table group by name 我想了想,应该可以用IF函数 于是改了下 复制代码 代码如下: select name,sum(money*IF(stype=4,-1,1)) as M from table group by name 两种方式那种更效率还
-
mysql中IFNULL,IF,CASE的区别介绍
假设有一数据表的状态字段设计为varchar类型,有以下值:NULL,pending,pending refund,refund,cancel. 我们知道查询状态为cancel的订单,SQL语句可以这样写:SELECT o.oid,o.moneyreceipt,o.moneyget,o.thecurrency,o.status FROM qorder o WHERE o.status = 'cancel' SQL语句能查询出正确的数据,但是当我们想查询状态为非cancel的订单时,可能会出麻烦,
-
MySQL中的if和case语句使用总结
Mysql的if既可以作为表达式用,也可在存储过程中作为流程控制语句使用,如下是做为表达式使用: IF表达式 复制代码 代码如下: IF(expr1,expr2,expr3) 如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3.IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定. 复制代码 代码如下: select *,if(sva=1,"男",&
-
深入浅析MySQL 中 Identifier Case Sensitivity问题
在MySQL当中,有可能遇到表名大小写敏感的问题.其实这个跟平台(操作系统)有关,也跟系统变量lower_case_table_names有关系.下面总结一下,有兴趣可以查看官方文档"Identifier Case Sensitivity" In MySQL, databases correspond to directories within the data directory. Each table within a database corresponds to at leas
-
MySQL使用IF语句及用case语句对条件并结果进行判断
目录 一.前期准备 二.IF语句 1.场景一 2.场景二 三.CASE语句 一.前期准备 CREATE TABLE `t1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `jgid` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; INSERT INT
-
MySQL基础入门之Case语句用法实例
目录 引言 CASE 的语法 CASE 语句在 MySQL 中是如何工作的? 带有 SELECT 和 ORDER BY 子句的 CASE 语句 具有聚合函数的 CASE 语句 补充:case行转列用法 总结 引言 MySQL CASE 是一个 MySQL 语句查询关键字,它定义了处理循环概念以执行条件集并使用 IF ELSE 返回匹配案例的方式. MySQL 中的 CASE 是一种控制语句,它验证条件案例集,并在第一个案例满足 else 值时显示值并退出循环. 如果没有找到 TRUE 且语句没有
-
VBS教程:VBScript 语句-Select Case 语句
Select Case 语句根据表达式的值执行几组语句之一. Select Case testexpression[Case expressionlist-n[statements-n]] . . .[Case Else expressionlist-n[elsestatements-n]]End Select 参数testexpression 任意数值或字符串表达式. expressionlist-n 如 Case 出现则必选项.一个或多个表达式的分界列表. statements-n 当 te
-
mysql存储过程之case语句用法实例详解
本文实例讲述了mysql存储过程之case语句用法.分享给大家供大家参考,具体如下: 除了if语句,mysql提供了一个替代的条件语句CASE. mysql的 CASE语句使代码更加可读和高效.废话不多说,我们先来看下简单case语句的语法: CASE case_expression WHEN when_expression_1 THEN commands WHEN when_expression_2 THEN commands ... ELSE commands END CASE; 我们可以使
-
查询mysql中执行效率低的sql语句的方法
一些小技巧1. 如何查出效率低的语句?在MySQL下,在启动参数中设置 --log-slow-queries=[文件名],就可以在指定的日志文件中记录执行时间超过long_query_time(缺省为10秒)的SQL语句.你也可以在启动配置文件中修改long query的时间,如: 复制代码 代码如下: # Set long query time to 8 seconds long_query_time=8 2. 如何查询某表的索引?可使用SHOW INDEX语句,如: 复制代码 代码如下
-
MySQl数据库必知必会sql语句(加强版)
这一篇属于加强版,问题和sql语句如下. 创建users表,设置id,name,gender,sal字段,其中id为主键 drop table if exists users; create table if not exists users( id int(5) primary key auto_increment, name varchar(10) unique not null, gender varchar(1) not null, sal int(5) not null ); inse
-
Shell编程之case语句实战(小结)
大家好,今天给大家带来的是Shell编程之case语句的使用! 其实case语句还是很好理解的,在shell编程中,if语句有它的语法,函数也有它的语法,那么在我们shell编程中的case语句也是有它的语法的,如下: case 变量名 in 值1) 指令1 ;; 值2) 指令2 ;; 值3) 指令3 ;; esac 在以上的代码中我们发现,以case开头,以esac结尾,就像我们的if语句,以if开头以fi结束时一样的. 例2: case "找老公条件" in 家里有房子) 嫁给你.
-
Mysql中索引和约束的示例语句
外键 查询一个表的主键是哪些表的外键 SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = 'mydbname' AND REFERENCED_TABLE_NAME = '表名'; 导出所有外键语句 SELECT CONCAT('ALTER
-
MySQL中几种插入和批量语句实例详解
目录 前言 1.insert ignore into 2.on duplicate key update 3.replace into 4.insert if not exists 5.批量插入数据 6.批量更新 总结 前言 最常见的方式就是为字段设置主键或唯一索引,当插入重复数据时,抛出错误,程序终止,但这会给后续处理带来麻烦,因此需要对插入语句做特殊处理,尽量避开或忽略异常,下面我简单介绍一下,感兴趣的朋友可以尝试一下: 这里为了方便演示,我新建了一个user测试表,主要有id,userna
随机推荐
- 解析Oracle中多表级联删除的方法
- 获得所有表单值的JQuery实现代码[IE暂不支持]
- 巧用Vue.js+Vuex制作专门收藏微信公众号的app
- mybatis二级缓存的实现代码
- JavaScript 页面编码与浏览器类型判断代码
- JavaScript编程中window的location与history对象详解
- 详解详解Python中writelines()方法的使用
- java基于servlet使用组件smartUpload实现文件上传
- javascript实现判断鼠标的状态
- 在Python下尝试多线程编程
- 基于C#实现的三层架构实例
- VBS教程:VBScript 与窗体
- Android 滑动监听RecyclerView线性流+左右划删除+上下移动
- 详解Java继承中属性、方法和对象的关系
- 用PHP去掉文件头的Unicode签名(BOM)方法
- 大型网吧网络组网方案网络规模 200-1000个用户节点以内
- JS实现checkbox互斥(单选)功能示例
- vue+django实现一对一聊天功能的实例代码
- thinkphp5.1框架模板布局与模板继承用法分析
- MySQL优化方案参考