总结6.1 多表联合查询

模糊查询like:

%:表示任意字符;

_:表示一个字符;

select * from 表名 where 字段 like ‘%w%’;

'%w'表示字段必须以w结尾,'w%'表示字段必须以w开头;

select * from 表名 where 字段 like ‘李_’;

去除重复数据(DISTINCT)

select distinct 字段1 from 表名;

这里只会单独显示该字段的内容;

排序(order by),可以多字段排序

select *from 表名 order by 列名 asc(asc升序默认;desc降序)

1、聚合函数查询:(常用的)

min最小值;max最大值;sum值的和;count统计行数;avg平局值

2、分组查询:

group by:

表示对所取得的数据,以所给定的字段来进行分组。

最后的结果就是将数据分成了若干组,每组作为一个“整体”成为一行数据。

于是,对于分组查询(group by),select中出现的信息,通常就只有两种情况的信息了:

1,分组本身的字段信息;

2,一组的综合统计信息,主要包括:

(1) 计数值: count(字段), 表示求出一组中原始数据的行数;

(2) 最大值: max(字段),表示求出一组中该字段的最大值;

(3) 最小值: min(字段),表示求出一组中该字段的最小值;

(4) 平均值: avg(字段),表示求出一组中该字段的平均值;

(5) 总和值: sum(字段),表示求出一组中该字段的累加和;

3、分组后筛选使用:

group by 字段 having

having的含义跟where的含义一样,只是having是用于对group by分组的结果进行的条件筛选。

分页查询:

limit 起始行,行数;

多表联合查询(所有地方都会用到)

join on

select * from 表1 as a join 表2 as b on a.id=b.lid where a.id =3;

left join:完全显示左表内容

right join :完全显示右表内容

这里采用了一个教学系统的四个数据表组成的数据库来合理运用了所有方法

原文地址:https://www.cnblogs.com/HighKK/p/13025892.html