Mysql实战(4):聚合函数;表关联查询;MYSQL索引
聚合函数:
总数:count
group by 分组(聚合)
count(1)和group by 一起来计算不同分组中的记录总数

总数sum;平均avg;最大max;最小min

去重:distinct

过滤:having
通过having来过滤group by字句的结果信息
找到平均薪资超过12000的(limit 10 仅显示10条)

表关联查询
内连接: inner info 又叫内连接的部分,主要是获取两个表中字段匹配关系的表。查询关联字段共同拥有的数据

例如:
我们创建5个表(用户表,学生时代表,工作时代表,学生信息表,城市信息表)5个表之间有关联
1.先创建表(例如用户表): create table user(id int, name varchar(10), birthday date);
2.然后给表里添加数据 insert into 表名 values(1,"zhangsan","1998-04-06");


3.然后将表关联起来查询你想要得到的信息
查询一张表(*代表所有): select * from 表名;
查询指定字段:select 字段1,字段2,字段3 from 表名;

例如:我们想查询用户表中id=2的学生时代信息,我们可以将user,student,studentinfo三个表关联起来查询
命令格式:select * from 表名 inner info 表名 on 关联的两个表的相同字段的所有信息 inner join 表名 on 关联的两个表的相同字段的所有信息 where 条件;

例如:我们想查询用户表中id=2的学生时代信息及城市信息,我们可以将user,student,studentinfo,city四个表关联起来查询

删除数据的方式:in or
delete from 表名 where id in (想要删除的id数)


左连接:left join 获取左表所有记录,获取左边数据表所有符合要求的字段数据信息

例如:用左连接查看姓名 表现 学校名称


右连接:right join 获取右表所有记录的信息,获取右边数据表所有的数据信息
例如:用右连接查看姓名 表现 学校名称


例如:想查看姓名 学校名称 学校类型 城市名称 国家 再➕只查看学校类型为一本的条件
(右连接)

(内连接)

(左连接)

(也可左连接 右连接 内连接结合起来用)

MySQL索引
在MySQL中,创建MySQL的索引主要是为了提高MySQL查询的效率。但是添加太多的索引也是会降低更新表的速 度的,因为对表进行DML操作的时候,MySQL的内部不仅仅要保存数据,还需要保存索引文件的。


浙公网安备 33010602011771号