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子句前

    分类:
    代码人生
    标签: