前言 开心一刻   一个中国小孩参加国外的脱口秀节目,因为语言不通,于是找了一个翻译. 主持人问:“Who is your favorite singer ?” 翻译:”你最喜欢哪个歌手啊 ?” 小孩兴奋地回答:”Michael Jackson” 翻译转身对主持人说:”迈克尔-杰克逊” 主持人看着翻译:"你说什么 ?" 电视机前的观众:"我怎么有点蒙?"  NULL NULL 用于表示缺失的值或遗漏的未知数据,不是某种具体类型的值.数据表中的 NULL 值表示该值所…
写在前面 普通编程语言里的布尔型只有true和false两个值,这种逻辑体系被称为二值逻辑,而SQL语言里,还有第三个值unknown,因此SQL的逻辑体系被称为三值逻辑. Why SQL存在三值逻辑? Because of NULL 理论篇 两种NULL.三值逻辑还是四值逻辑 两种NULL:分别指未知(unknown)和不适用(not applicable).举例:"不知道戴眼镜的人的眼睛是什么颜色",为unknown,"不知道冰箱的眼睛是什么颜色"为not ap…
前言 开心一刻 我要飞的更高,飞的更高,啊! 谓词 SQL 中的谓词指的是:返回值是逻辑值的函数.我们知道函数的返回值有可能是数字.字符串或者日期等等,但谓词的返回值全部是逻辑值(TRUE/FALSE/UNKNOW),谓词是一种特殊的函数.关于逻辑值,可以查看:神奇的 SQL 之温柔的陷阱 → 三值逻辑 与 NULL ! SQL 中的谓词有很多,如 =.>.<.<> 等,我们来看看 SQL 具体有哪些常用的谓词 比较谓词 创建表与初始化数据 -- 1.表创建并初始化数据 DROP…
开心一刻 楼主:心都让你吓出来了! 狮王:淡定,打个小喷嚏而已 前情回顾 神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程(一)中,我们讲到了 3 种联表算法:SNL.BNL 和 INL,了解了数据的查询方式是 one by one,联表方式也是 one by one :并谈到了 ON 和 WHERE,对下图中所说的提出了质疑 认为 ON 和 WHERE 的生效时机有待商榷:此时楼主开始了欠大家的账 神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程(二)中对联…
开心一刻 今天下班,骑着青桔电动车高高兴兴的哼着曲回家,感觉整个世界都是我的 刚到家门口,还未下车,老妈就气冲冲的走过来对我说道:"你表哥就比你大一岁,人家都买了奔驰了,50 多万!" 我:"表哥那车,舅舅出了 40 多万" 老妈:"那不还有 10 多万是他自己出的" 我:"那 10 几万是他丈母娘出的" 老妈:"你还有脸说,你连个对象都没有!" 老妈走回家,回头望了眼我胯下的青桔,一脸不屑地说道:&quo…
文章目录 NULL 即是空 三值逻辑 空值比较 NOT IN 与空值 函数与空值 DISTINCT.GROUP BY.UNION 与空值 ORDER BY 与空值 空值处理函数 字段约束与空值 SQL 是一种声明式的语言,我们只需要描述想要的结果(WHAT),而不关心数据库如何实现(HOW):虽然 SQL 比较容易学习,但是仍然有一些容易混淆和出错的概念. 今天我们就来说说 SQL 中的空值陷阱和避坑方法,涉及的数据库包括 MySQL.Oracle.SQL Server.PostgreSQL 以…
开心一刻 一头母牛在吃草,突然一头公牛从远处狂奔而来说:“快跑啊!!楼主来了!” 母牛说:“楼主来了关我屁事啊?” 公牛急忙说:“楼主吹牛逼呀!” 母牛大惊,拔腿就跑,边跑边问:“你是公牛你怕什么啊?” 公牛无奈道:“现在的楼主不仅吹牛逼,还扯蛋!” 然后小牛也在跟着跑,公牛和母牛问:“儿子你跑什么呢?” 小牛说:“楼主还扯犊子啊” 前情回顾 神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程(一)中,我们讲到了 JOIN 的部分内容,像:驱动表.JOIN 大致流程等.什么,还没…
开心一刻 楼主:来,我们先排练一遍 小伙伴们:好 嘿.哈.嚯 楼主:非常好,就是这个节奏,我们开始吧 楼主:啊.啊.啊,疼 ! 你们是不是故意的 ? 回表与覆盖索引 正式讲 ICP 之前了,我们先将相关的概念捋一捋,知道的就当回顾,不知道的就当了解了,这有助于对 ICP 的理解 建个示例表 tbl_index CREATE TABLE tbl_index (     c1 INT,     c2 INT,     c3 CHAR(1),     PRIMARY KEY(c1),     KEY…
开心一刻 一天,楼主和隔壁小男孩一起坐电梯,中途进来一位高挑的美女,她牵着一条雪白的贵宾犬 小男孩看着这条雪白的贵宾犬,甚是喜欢,说道:阿姨,我能摸下这个狗狗吗? 美女:叫姐姐 小男孩低头看了下贵宾犬,虽说有点不乐意,但还是说道:阿姨,我能摸下这个姐姐吗? 楼主想忍住,但实在是忍不住了,哈哈哈... 初识 HAVING 关于 SQL 中的 HAVING,相信大家都不陌生,它往往与 GROUP BY 配合使用,为聚合操作指定条件 说到指定条件,我们最先想到的往往是 WHERE 子句,但 WHERE…
开心一刻 一天,一个男人去未婚妻家玩,晚上临走时下起了大雨 未婚妻劝他留下来过夜,说完便去准备被褥,准备就绪后发现未婚夫不见了 过了好久,全身淋的像只落汤鸡的未婚夫回来了 未婚妻吃惊的问:"你跑哪去了" 未婚夫上气不接下气的回答:"我,我回家拿睡衣去了" 写在前面 在像 Web 服务这样需要快速响应的应用场景中,SQL 的性能直接决定了系统是否可以使用:特别在一些中小型应用中,SQL 性能更是决定服务能否快速响应的唯一标准 严格地优化查询性能时,必须要了解所使用数据…