数据库的基本操作2

聚合函数

sum() 求和

avg() 求平均值

max() 求最大值

min() 求最小

count() 统计记录条数

格式:select 函数名(字段)  from 表名

三种删除操作

delete:删除表中的数据(删除的时候如果不加条件,会删除表中的全部数据)但是不会截断表

delete from  表名

drop:删除整个库或者说是删除整张表

drop table 表名

drop database 库名

truncate;删除表中的数据,会截断表

truncate from 表名

分组

group by 字段

分组的条件

根据性别分组

根据班级编号分组

完整的查询格式

select  ...  from  ...  where  ...  order  by  ...  limit  ...    group  by  ...  having  ...

查询进阶三个部分

连接查询

子查询

联合查询

​​​​​​​hellodb库简介

1students

学 生 id

学生姓名

年龄

性别

班级编号

老师编号

2classes3teachers4courses5scores

6coc:班级编号以及班级开始的课编号

7toc:老师的编号以及对应的所教授的课程的编号

链接查询

将两张或者多张表联合起来进行查询,这就是链接查询【join】,链接查询有两种,分别是交叉链接和自然链接

交叉链接

表中每一行,分别和其他表的每一行,组成一个新的行

新表的行数是两个表的行数相乘,列数是两个表的列数相加

自然链接【内链接、等值链接】

将多个表中,符合条件行进行链接

得到交叉连接的结果

select * from 表1,表2

得到自然连接的结果

select * from 表1,表2 where 表1.字段 = 表2.字段;

字段别名

给字段取一个新的名字

显示结果中,字段名会直接用新的名字显示出来

格式:

select 字段名 as 新名字 from 表名...

表别名

select  字段  from  表名  as  新名

注意:如果用了新的名字,那么必须使用,否则报错

案例:

在进行联合查询的时候,为表定义别名

students表取别名叫做s classes表取别名叫做c

select  name,  c.classid  from  students  as  s,classes  as  c  where s.classid=c.classid;

使用自然链接存在问题:会导致数据缺失

解决方法:用左外链接、右外链接

左表:前面的右表:后面的

解决数据丢失的问题,需要使用外链接,外链接分为三种:

左外链接右外链接

全外链接:mysql是不支持这种方式的。

概念:

左表:前面的表是左表右表:后面的表是右表

例子:

select  *  from  students,classes ;’

#  students表是左表

#  classes表是右表

左外链接

显示结果以左表为准

左表中的数据会全部出现

右边中的数据,有就显示,没有的显示为null 格式

select  字段名  from  左表  left  join  右表  on  条件

右外链接

显示结果以右表为准

右表中的数据会全部出现

左边中的数据,有就显示,没有的显示为空

select  字段名  from  左表  right  join  右表  on  条件

​​​​​​​子查询

在查询语句中,使用另外一个语句的查询结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值