in操作符,在可选范围内查找数据:
1 USE test; 2 -- 可以选取指定值,在...中 3 SELECT * FROM city WHERE `Name` in ('Kabul','Herat')
1 USE test; 2 SELECT * FROM city WHERE ID BETWEEN 1 and 3
不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "1" 和 "3" 之间的人,但不包括 "1" 和 "3" ;某些数据库会列出介于 "1" 和 "3" 之间并包括 "1" 和 "3" 的人;而另一些数据库会列出介于 "1" 和 "3" 之间的人,包括 "1" ,但不包括 "3" 。
NOT BETWEEN:
1 USE test; 2 SELECT * FROM city WHERE ID NOT BETWEEN 1 and 3
别名Alias:
1 USE test; 2 SELECT p.Name , po.Code FROM city AS p,country as po WHERE p.`Name`='Rotterdam' OR po.`Code`='AGO'
group by:
GROUP BY 是分组查询, 一般 GROUP BY 是和聚合函数配合使用
group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面(重要)
having和where 区别:
where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。
having 子句被限制子已经在SELECT语句中定义的列和聚合表达式上。通常,你需要通过在HAVING子句中重复聚合函数表达式来引用聚合值,就如你在SELECT语句中做的那样。