读SQL学习指南(第3版)笔记05_过滤
1.读SQL学习指南(第3版)笔记13_读后总结与感想兼导读2.读SQL学习指南(第3版)笔记01_背景知识3.读SQL学习指南(第3版)笔记02_数据类型4.读SQL学习指南(第3版)笔记03_创建和填充数据库5.读SQL学习指南(第3版)笔记04_查询入门
6.读SQL学习指南(第3版)笔记05_过滤
7.读SQL学习指南(第3版)笔记06_连接和集合8.读SQL学习指南(第3版)笔记07_分组和子查询9.读SQL学习指南(第3版)笔记08_视图和索引10.读SQL学习指南(第3版)笔记09_条件逻辑与事务11.读SQL学习指南(第3版)笔记10_元数据与大数据12.读SQL学习指南(第3版)笔记11_字符串函数和数值函数13.读SQL学习指南(第3版)笔记12_时间函数和分析函数1. 不需要考虑排除任何列
1.1. 清除数据表中所有的内容
1.2. 暂存新数据仓库的数据
1.3. 向数据表中新添一列后
1.4. 修改数据表中的所有行
1.5. 检索消息队列表中的所有行
2. where子句
2.1. 可以在其中指定一个或多个过滤条件,用于限制SQL语句处理的行数
2.2. 使用括号
2.2.1. 同时使用运算符and和or的3个或以上条件,应该使用括号向数据库服务器和其他阅读代码的人表明意图
2.3. 使用not运算符
3. 构建条件
3.1. 条件由一个或多个表达式并通过一个或多个运算符组合而成
3.2. 表达式
3.2.1. 数字
3.2.2. 数据表或视图中的列
3.2.3. 字符串字面量
3.2.4. 内建函数
3.2.4.1. concat('Learning', ' ', 'SQL')
3.2.5. 子查询
3.2.6. 表达式列表
3.2.6.1. ('Boston', 'New York', 'Chicago')
3.3. 运算符
3.3.1. 比较运算符
3.3.1.1. =、!=、<、>、<>、like、in和between
3.3.2. 算术运算符
3.3.2.1. +、−、*和/
4. 条件类型
4.1. 相等条件
4.1.1. 一个表达式与另一个表达式之间的相等关系
4.2. 不等条件
4.2.1. 用于断言两个表达式之间的不等关系
4.3. 范围条件
4.3.1. 检查表达式的值是否处于某个范围
4.3.2. 通常用于数值型或时间型数据
4.3.3. between运算符
4.3.3.1. 当需要同时限制范围的上限和下限时,可以选择使用between运算符构建单个查询条件,而不用两个单独的条件
4.3.3.2. 首先必须指定范围的下限(在between之后),然后指定范围的上限(在and之后)
4.3.4. 字符串范围
4.3.5. 成员条件
4.4. 匹配条件
4.4.1. 使用通配符
4.4.1.1. 以某个字符开始(或结束)的字符串
4.4.1.2. 以某个子串开始(或结束)的字符串
4.4.1.3. 在字符串中的任意位置包含某个字符的字符串
4.4.1.4. 在字符串中的任意位置包含某个子串的字符串
4.4.1.5. 具备特定格式(无关单个字符)的字符串
4.4.1.6. mysql
-> SELECT last_name, first_name
-> FROM customer
-> WHERE last_name LIKE 'Q%' OR last_name LIKE 'Y%';
4.4.2. 使用正则表达式
4.4.2.1. regexp运算符接受一个正则表达式
4.4.2.1.1. mysql
-> SELECT last_name, first_name
-> FROM customer
-> WHERE last_name REGEXP '^[QY]';
4.4.2.1.2. 该查询现在只包含了使用正则表达式的一个条件,不再是使用通配符的两个条件
4.4.2.2. 在Oracle Database中,使用regexp_like函数代替regexp运算符
4.4.2.3. SQL Server允许正则表达式与like运算符配合使用
5. null
5.1. 没有合适的值
5.1.1. ATM机上的自助交易并不需要employee ID列
5.2. 值未确定
5.2.1. 在创建客户所在行时不知道其ID
5.3. 值未定义
5.3.1. 为某个尚未添加到数据库的产品创建账户
5.4. 表达式可以为null,但不能等于(never equal)null
5.5. 两个null值不相等
5.5.1. 为了测试表达式是否为null,需要使用is null运算符
5.6. 如果要查看某列是否已经被赋值,可以使用is not null运算符
5.7. 使用一个不熟悉的数据库时,最好是找出数据表中哪些列允许出现null,这样就可以在过滤条件中采取适当的措施,以防止遗漏数据
合集:
读SQL学习指南(第3版)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库