前言:在做这个题目 https://www.cnblogs.com/pipihao/p/13786304.html

因为之前 我好像没有接触过什么 为NULL字段的查询,细节不小

WHERE 字段 IS NULL

WHERE 字段 IS NOT NULL

# 这是数据查询的SQL
SELECT
s.*,(s1.`s_score`+s2.`s_score`+s3.`s_score`)/3 平均成绩
FROM
student s
LEFT JOIN score s1 ON s1.`s_id` = s.`s_id` AND s1.`c_id` = 01
LEFT JOIN score s2 ON s2.`s_id` = s.`s_id` AND s2.`c_id` = 02
LEFT JOIN score s3 ON s3.`s_id` = s.`s_id` AND s3.`c_id` = 03

# 这是我自己之前写的SQL
SELECT
s.*,(s1.`s_score`+s2.`s_score`+s3.`s_score`)/3 平均成绩
FROM
student s
LEFT JOIN score s1 ON s1.`s_id` = s.`s_id` AND s1.`c_id` = 01
LEFT JOIN score s2 ON s2.`s_id` = s.`s_id` AND s2.`c_id` = 02
LEFT JOIN score s3 ON s3.`s_id` = s.`s_id` AND s3.`c_id` = 03
WHERE (s1.`s_score`+s2.`s_score`+s3.`s_score`)/3 < 60

# 这是完善之后 的SQL 加了IS NULL 可以判断字段是否为NULL
SELECT
s.*,(s1.`s_score`+s2.`s_score`+s3.`s_score`)/3 平均成绩
FROM
student s
LEFT JOIN score s1 ON s1.`s_id` = s.`s_id` AND s1.`c_id` = 01
LEFT JOIN score s2 ON s2.`s_id` = s.`s_id` AND s2.`c_id` = 02
LEFT JOIN score s3 ON s3.`s_id` = s.`s_id` AND s3.`c_id` = 03
WHERE
(s1.`s_score`+s2.`s_score`+s3.`s_score`)/3 < 60
OR
(s1.`s_score`+s2.`s_score`+s3.`s_score`)/3 IS NULL

如何查找一个为NULL的MYSQL字段的更多相关文章

  1. coalesce :返回参数(列名)中第一个非NULL值的字段值

    示例 下面的语句返回值 34.(只返回一个值就算后面不为NULL也直接丢弃) SELECT COALESCE( NULL, 34, 13, 0 ) 备注 如果所有参数均为 NULL,则 COALESC ...

  2. MySQL字段属性NUll的注意点

    MySQL字段属性应该尽量设置为NOT NULL 除非你有一个很特别的原因去使用 NULL 值,你应该总是让你的字段保持 NOT NULL.这看起来好像有点争议,请往下看. 空值("&quo ...

  3. 转!!mysql 字段 is not null 和 字段 !=null

      今天在查询数据时,查到包含一条某个时间startTime(该字段默认为null ) 为null的记录,想把它过滤,加了 startTime != null 的条件,结果记录都没了,应该用条件 is ...

  4. mysql 实行模糊查询 一个输入值匹配多个字段和多个输入值匹配一个字段

    mysql 实行模糊查询  一个输入值匹配多个字段 MySQL单表多字段模糊查询可以通过下面这个SQL查询实现 为啥一定要150字以上  真的麻烦  还不让贴代码了 SELECT * FROM `ma ...

  5. mysql字段按逗号,拆分并按条件查找

    mysql字段按逗号,拆分并按条件查找 mysql 表结构 CREATE TABLE `subid` ( `id1` varchar(255) DEFAULT NULL, `id2` varchar( ...

  6. Mybatis mysql 一个搜索框多个字段模糊查询 几种方法

    第一种 or 根据搜索框给定的关键词,模糊搜索用户名和账号都匹配的用户集合 <select id="list" parameterType="com.user.Us ...

  7. 【优化】Mysql字段尽可能用NOT NULL

    下面咱们要聊的是 MySQL 里的 null,在大量的 MySQL 优化文章和书籍里都提到了字段尽可能用NOT NULL,而不是NULL,除非特殊情况.但却都只给结论不说明原因,犹如鸡汤不给勺子一样, ...

  8. 获取一个表中的字段总数(mysql) Navicat如何导出Excel格式表结构 获取某个库中的一个表中的所有字段和数据类型

    如何获取一个表中的字段总数 1.function show columns from 表明: 结果 : 2.functiuon select count(*) from INFORMATION_SCH ...

  9. Mysql字段类型与合理选择

    字段类型 数值 MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数.许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许 ...

随机推荐

  1. Idiomatic Phrases Game(最短路+注意坑点)

    Tom is playing a game called Idiomatic Phrases Game. An idiom consists of several Chinese characters ...

  2. java初探(1)之登录初解

    初识登录 登录的应用场景 登录比较常见,大多数网站都有登录的操作.然后登录本身也从简单到复杂有着漫长的发展历史.本文记录博主对登录的应用场景的剖析,深究不在于学习如何实现,主要关注其编码思想,过程中用 ...

  3. Ubuntu 20.04 手动安装 sublime_text 并建立搜索栏图标(解决 Ubuntu 20.04 桌面图标无法双击打开问题)

    下载sublime_text_3离线程序包 wget https://download.sublimetext.com/sublime_text_3_build_3211_x64.tar.bz2 #x ...

  4. JS中写继承的方式

    有父子两个函数,代表两个类: var parent = function(){} var child = function(){} 一.直接继承 child.prototype = new paren ...

  5. 19_Python算法

    1.冒泡算法 list = [1, 5, 2, 6, 9, 3, 4, 0] print(len(list)) # conunt = 1 while conunt < len(list): fo ...

  6. Redis Linux 安装部署

    Redis部署文档   Redis部署文档 准备软件: 开始部署: 解压tar包[root@localhost redis]# tar -zxvf redis-3.2.8.tar.gz 进入Redis ...

  7. FastJSON解析JSON的时候保证深堆的顺序

    普通的JSONObject.parseObject(),解析的时候,底层采用HashMap解析所以是无序的, JSONObject params = JSONObject.parseObject(ex ...

  8. datattable循环读取数据用于循环遍历checkboxlist里的项目

    DataTable dt = bptb.GetList("Pro_ID="+id).Tables[0]; foreach (ListItem li in from DataRow ...

  9. 反射之hasattr() getattr() setattr() 函数

    Python的hasattr() getattr() setattr() 函数使用方法详解 hasattr(object, name)判断object中有没有一个name字符串对应的方法或属性,返回B ...

  10. 多图证明,Java到底是值传递还是引用传递?

    开篇先来曝答案,在 Java 语言中,本质只有值传递,而无引用传递,解释和证明详见正文. 说到值传递和引用传递我们不得不提到两个概念:值类型和引用类型. 1.值类型 通俗意义上来说,所谓的值类型指的就 ...