1:查询基础

select * from table1;

执行结果: 查找表格中*(table1)的数据 然后输出所有

2:加条件查询

select * from table1 where age=1;

**执行结果:**查找表格中的数据(满足条件age=1) 的数据 然后输出所有结果

3: 加别名查询

select * from table1  as t where t.age=1

执行结果: 查找表格中的数据(嫌表名太长 我给取个其他名字t 然后在后面条件中就可以使用 使用方式:别名.字段) 然后输出所有结果

4: where 条件 between a and b

select * from table1 as t where t.age between 11 and 12;

**执行结果:**查找表格中的数据 然后 条件是age 介于 11和12 包含11和12 (注意11和12 不可以颠倒 写成12 and 11 就没有结果) 然后输出所有结果

5:like条件

(需要使用双引号引用 )(包括 %:代替任意字符 , _ 代替一个字符)

select * from table1 as t where t.name like "%f"

**执行结果:**查找表格中的数据 然后条件是 name行 以 f结尾的 然后输出所有结果

6:in 条件 (结果可以是查询语句的结果)

select * from table1 as t where t.age in (12,13,14);

**执行结果:**查找表格中的数据 条件是 age 分别为 12 13 14 的所有结果

7:聚合函数

select count(1) from table1 as t where age=12;

**执行结果:**执行顺序为 表格1中 满足条件age=12的内容 然后对结果进行 行数汇总
注:where 条件中不可以加聚合函数 ,聚合函数是对结果的处理 但是 where 条件是结果之前的条件

8:分组 groupby

select name from table1 as t group by name;

**执行结果:按照name 字段 对表格进行分组 如果每组分为多个结果, 那么就展示第一个字段(应该是如此)
提示: 在使用按照字段分组时, 尽量不要使用 * 来输出结果 , 而使用 对应的字段和聚合函数来进行查询.因为 会展示所有的字段 但是你是要查询 按照某个字段分组后的结果,所以
展示的单条信息所有值 会对你有误导.

②:分组加 聚合函数

select count(1),* form table1 as t group by name;

执行结果:: 第一步:按照name 字段 对表格进行分组 第二步:如果每组分为多个字段 那么就展示第一个字段(应该是如此) ,第三步:可以通过聚合函数来获取到组中成员集合的结果 比如count()行数, max( ) 和 min() 等

9:分组 group by + having

select * from table1 as t group by name having age>11;

执行结果:: 查询表单中的数据 然后对表单进行分组 分组之后结果 在按照条件进行筛选, 筛选之后的结果
注:“having 可以加聚合函数” 因为已经是分组之后的数据了 所以可以处理.

10: 分组 group by + having+ 聚合函数

select * from test2 GROUP BY NAMES  having age=max(age)

执行结果: :第一步先 对表格进行分组 第二步:对分组后的结果 进行having 条件筛选, 第三步: 对having 条件筛选后的结果进行 再次筛选