Mysql中的IFNULL函数的详解(嵌套查询等重点)如果第一个为空就执行第二个

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
如有转载,请注明出处(如不注明,盗者必究)

目录

  • 一、概念
  • 二、语法
  • 三、举例
    • 创建表
    • 加入数据
      • 3.1举例一
      • 3.2举例二
      • 3.2举例三
      • 3.4举例四
        • 注意事项

一、概念

在mysql中IFNULL() 函数用于判断第一个表达式是否为 NULL,如果第一个值不为NULL就执行第一个值。第一个值为 NULL 则返回第二个参数的值。

二、语法

IFNULL(a, b)

如果a不为空,则返回a,如果a为空(就是查找不到的意思),就返回b

三、举例

创建表

create table student_one(
sno varchar(20) not null primary key,
sname varchar(20) not null,
ssex varchar(20) not null,
sbirthday datetime,
class varchar(20)
)charset=utf8;

加入数据

insert into student_one values('1','陈奇','男','2000-11-02','1');
insert into student_one values('2','陈飞','男','1999-12-05','2');
insert into student_one values('3','周杰','女','1989-03-01','3');
insert into student_one values('4','昆凌','男','1989-04-15','4');
insert into student_one values('5','王丽','女','1999-05-16','5');
insert into student_one values('6','蔡蔡','男','2000-08-17','6');

运行结果

在这里插入图片描述

3.1举例一

第一个参数不为NULL,返回第一个参数,下面的代码中’hello’不为NULL,就返回的是’hello’

SELECT IFNULL('hello', 'world');

运行结果
在这里插入图片描述

3.2举例二

从student_one表里面查询sno/sname字段,如果sno字段不为空,就返回sno字段,如果为空就返回sname字段。且取别名为‘字段结果’

SELECT IFNULL(sno,sname) AS '字段结果' FROM student_one

运行结果
在这里插入图片描述
从student_one表里面class=4的行查询sno或者sname字段

SELECT IFNULL(sno,sname) FROM student_one WHERE class=4

运行结果
在这里插入图片描述

3.2举例三

从student_one表里面查询sno=10的class字段,如果表中没有class=10的字段,就会返回0

SELECT IFNULL((SELECT class FROM student_one WHERE sno = 10),0);

运行结果
在这里插入图片描述

3.4举例四

从student_one表里面查询sno等于1的sname字段,如果为空,就从student_one表里面查询sno等于2的ssex字段

SELECT IFNULL((SELECT sname from student_one WHERE sno=1),(SELECT ssex from student_one WHERE sno=2));

运行结果
在这里插入图片描述
从student_one表里面查询sno等于1的sname字段,如果为空,就从student_one表里面查询sno等于2的ssex字段。如果前面的都为空,就从student_one表里面查询sno等于2的sbirthday字段

SELECT IFNULL(IFNULL((SELECT sname from student_one WHERE sno=1),(SELECT ssex from student_one WHERE sno=2)),(SELECT sbirthday from student_one WHERE sno=2));

运行结果
在这里插入图片描述

注意事项

1.查询语句要用括号括起来
2.一个IFNULL只能对应一条判断语句,
3.IFNULL仅能查询一个字段,否则会报错

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

求1到100的数字累加和(python)

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 代码 #codingutf-8#定义结果变量 result 0#定义一个循环…

mysql中怎么根据生日(brithday)获取年龄

语法 YEAR(from_days(datediff(now(), sbirthday)));举例 首先先创建一个表 create table studentone( sname varchar(20) not null, sbirthday datetime )charsetutf8;再插入数据 insert into studentone values(陈奇,2000-11-02); insert into studentone values(陈飞,19…

python插入排序算法详解-面试常考

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行! 如有转载,请注明出处(如不注明,盗者必究&#xf…

在Mysql中count(*)、count(1)与count(字段/列名)的详解—聚合函数count

目录一、简单区别二、效率比较三、举例3.1创建表3.1.1利用count(*)进行统计所有行的数目3.1.2利用count(1)进行统计所有行的数目3.1.3利用count(字段/列名)进行统计sname字段的的数目https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号…

Python二分查找/折半查找算法详解--(面试常考)

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 二分查找也称折半查找(Binary Search&#xff…

用python打印出各类三角形(正三角形、倒三角形、左上角左下角三角形、右上角右下角三角形)

目录正三角形倒三角形左上角三角形左下角三角形右上角三角形右下角三角形https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究…

pip不是内部或外部命令,也不是可运行的程序 或批处理文件--解决办法

1.因为pip.exe在Scripts下,所以需要将python的Scripts的路径复制。 2.单击此电脑右键–>点击属性 3.高级系统设置–>环境变量–>点击path,如果没有path就新建一个,如果有的话就直接编辑,将刚刚路径复制过来,注…

WARNING: You are using pip version 19.2.3, however version 20.1.1 is available. You should consi解决办法

如果我们遇见了这种情况 原因:使用的是pip版本19.2.3,但版本20.1.1可用。 应该考虑通过“python-m pip install–upgrade pip”命令进行升级。 解决办法: 输入代码 python -m pip install --upgrade pip运行结果 成功升级! ht…

TypeError: rose() takes 0 positional arguments but 1 was given--python报错

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行! 如有转载,请注明出处(如不注明,盗者必究&#xf…

Python中过滤序列内置函数filter()的详解(常用)

目录一、功能二、语法三、举例3.1代码3.2运行结果一、功能 用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&am…

(python3.8)pygraphviz的下载安装配置(在python下)最新

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 首先安装graphviz 下载地址:https://graphviz…

function lambda at 0x000001B60A213F70 (python运行结果显示)

显示情况 <function <lambda> at 0x000001B60A213F70> 代码 b lambda a, b: a*b(1, 2)print(b)报错原因 因为函数优先级&#xff0c;如果在表达式后面直接加&#xff08;&#xff09;的话就容易报错&#xff0c;表达式要先执行&#xff0c;所有要在表达式外面…

ValueError: Program dot not found in path.python下运行pygraphviz出现报错

运行python时出现报错 使用百度翻译&#xff0c;翻译结果&#xff1a; 值错误&#xff1a;在路径中找不到程序点。 这就说明是路径错误 解决办法&#xff1a; 将C:\Program Files (x86)\Graphviz2.38\bin添加到环境变量当中去 之后再运行&#xff0c;ValueError: Program d…

哈夫曼树(Huffman Tree)的介绍、画法、哈夫曼树的可视化显示(Python代码实现)

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 目录一、概念二、带权路径长度三、树的带权路径长度四、举…

Mysql的多表查询(表添加,多表查询练习:笛卡尔积、内连接、外连接、子查询、UNION组合查询)

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 目录一、表的创建1.1创建学生表student_one1.2创建教师表t…

Mysql的IF()函数:如果返回True值,返回第一个值,为False值,返回第二个值

IF函数定义 语法 IF(condition, A, B)如果condition为TRUE值&#xff0c;就返回A&#xff0c;如果condition为FALSE值&#xff0c;就返回B。 举例 添加表 create table teacher_one ( tno varchar(20) not null primary key, tname varchar(20) not null, tsex varchar(20…

msyql的FORMAT()函数设置小数位数,将小数位数保留到小数点后第n位,最后一位四舍五入

FORMAT()函数 在mysql的查询中&#xff0c;如果我们输入的是小数类型&#xff0c;而保留几位小数因情况而变&#xff0c;我们可以用FORMAT&#xff08;&#xff09;函数来设置想保留的几位小数。即将数据内容格式化&#xff0c;将数据格式化为整数或者带几位小数的浮点数&#…

import win32com.client在python中报错及其解决办法

在调用import win32com.client的时候出现下面的报错情况 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; …

python怎么安装pandas详细步骤

1.打开cmd&#xff0c;输入 pip install pandas如果pip没有添加到系统变量中去&#xff0c;会出现报错。 具体解决办法参照&#xff1a; https://blog.csdn.net/hanhanwanghaha/article/details/106445654 如图表示已经安装好了pandas 检验&#xff1a; 我们在python中导包…

ping 不是内部或外部命令,也不是可运行的程序 或批处理文件。的解决办法

我们在ping检测网络的时候出现以下报错&#xff1a; ‘ping’ 不是内部或外部命令&#xff0c;也不是可运行的程序 或批处理文件。 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 让这个可爱的宝…