sql中对于case when...then...else...end的写法和理解

查询配件主数据表(tbl_part_base_info)的所有数据和配件是否有物料(物料表(tbl_material)中有配件主数据表的part_no,就表示有物料,反之,则表示没有物料),用sql中的case when...then...else...end来实现

第一种写法:

  select info.*,(case when material.part_no is null then ‘否‘ else ‘是‘ end) hasMaterial

  from tbl_part_base_info info left join tbl_material material on info.part_no=material.part_no;

第二种写法:

  select info.*,(case material.part_no when  is null then ‘否‘ else ‘是‘ end) from tbl_part_base_info info left join tbl_material material on info.part_no=material.part_no;

时间: 2024-10-11 07:09:20

sql中对于case when...then...else...end的写法和理解的相关文章

SQL中的case when then else end用法

转载自 http://lj.soft.blog.163.com/blog/static/7940248120109215191358/ Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方

【语法】SQL中的case when then else end用法-解决一个字段根据条件取不同值

Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方式,可以实现相同的功能.简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式. 还有一个需要

SQL中的CASE的用法

CASE在SQL语句中,很有点类似java等高级编程语言中的switch这样子的多分枝语句,但是有点不同的是,case后面接的是when,另外,when的后续分枝有点类似if后面接else.这个是我的个人认识,case ..when..then..[else].. 下面,看看MySQL的帮助信息,可以看到case的基本语法结构: 1 topics: #CASE的两种基本用法 2 CASE OPERATOR 3 CASE STATEMENT 4 5 MariaDB [mysql]> help ca

SQL中关键字Case的使用

本文非原创 它主要用来简化SQL表达式,在任何允许使用表达式的地方均可使用, 根据条件的不同返回不同的值. 注意:它不能单独执行,只能作为语句的一部分使用, 分为简单 case 表达式和搜索 case 表达式. 1.简单 case 表达式: 它是一个测试表达式与一组简单表达式进行比较,如果和某一个值相等, 则返回对应表达式的值. 语法: case 表达式 / 列名变量 when 测试值1 then 结果表达式1 when 测试值2 then 结果表达式2 …… else 结果表达式 end 例:

sql中的case when语句

1.在where子句中: 1 CREATE TABLE `hello`.`sometbl` ( 2 3 `id` INT NOT NULL AUTO_INCREMENT , 4 5 `a` VARCHAR(45) NULL , 6 7 `b` VARCHAR(45) NULL , 8 9 `c` VARCHAR(45) NULL , 10 11 PRIMARY KEY (`id`) , 12 13 UNIQUE INDEX `id_UNIQUE` (`id` ASC) ); 1 INSERT I

Sql中使用Case when

SELECT CASE WHEN Column IS NOT NULL THEN '情况1' ELSE '情况2' END AS '列名' , FROM dbo.Table

sql中关于case when的一个例子

SELECT rownum R, a.expert_id as USERID, a.expert_id as TYPE, b.type_desc as TYPE_DESC, a.sex as SEX, a.user_name as USERNAME, a.head_portrait as HEADPORTRAIT, h.hospital_name as HOSPITAL, H.H_LEVEL AS HLEVEL, c.jobtitle_name as JOBTITLE, d.dept_name

SQL集合函数中利用case when then 技巧

我们都知道SQL中适用case when then来转化数据库中的信息 比如  select (case sex when 0 then '男' else '女' end) AS sex  from studentInfo 那么在集合函数中它有什么用呢 ? SELECT sex FROM student SELECT sex,COUNT(*) AS num FROM student GROUP BY sex SELECT sex,province,COUNT(*) AS num FROM stu

Oracle中的case when then else end 应用

Case when 的用法,简单Case函数 简单CASE表达式,使用表达式确定返回值. 语法: CASE search_expression WHEN expression1 THEN result1 WHEN expression2 THEN result2 ... WHEN expressionN THEN resultN ELSE default_result 搜索CASE表达式,使用条件确定返回值. 语法: CASE WHEN condition1 THEN result1 WHEN