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]';