select * from table_name where 条件A and 条件B;
select * from table_name where 条件A and 条件B or 条件C;
select * from table_name where (字段名A, 字段名B) = (值C, 值D)
注意:第一步会先运行and,第二步会运行or;如果要先运行or,则需要加小括号。
WHERE 子句中的运算符
下面的运算符可以在 WHERE 子句中使用:
| 运算符 | 描述 | 
|---|
| = | 等于 | 
| <> | 不等于。注释: 在 SQL 的一些版本中,该操作符可被写成 != | 
| 大于 | 
| < | 小于 | 
| >= | 大于等于 | 
| <= | 小于等于 | 
| BETWEEN | 在某个范围内 | 
| LIKE | 搜索某种模式 | 
| IN | 指定针对某个列的多个可能值 | 
select * from Students where name = 'ZhangSan'
select * from Students where id = 1
文本值使用引号括起来,数值字段,请不用使用引号
having
having 用于过滤,筛选分组后的各组数据
SQL中增加having的原因是,where关键字无法与聚合函数一起使用
select column_name, 聚合函数(column_name)
from table_name
where column_name 操作符 value
group by column_name
having 聚合函数(column_name) 操作符 value
SQL聚合函数有如下:
- count 统计行数量
- sum   获取单个列的合计值
- avg   计算个列的平均值
- max   计算列的最大值
- min   计算列的最小值
SQL操作符有如下:
SQL操作符包括算术运算符、关系运算符、逻辑运算符和位运算符
电商平台表 Platforms
必须要与group by配合使用,可以把分组计算的函数和分组字段作为筛选条件
where 可以先按照条件对数据进行筛选,然后进行数据连接,所以效率更高。having 可以在分组之后,通过使用分组中的计算函数,实现 WHERE 难以完成的数据筛选
where作用在GROUP BY子句和having子句前