MySQL学习总结(基础)二

本片文章主要内容为集函数、分组查询、(内联接、左联接、右联接)union联合查询

一、集函数

包含以下几个函数:
在这里插入图片描述
1.count()
count函数是用来计数的

-- 查询该表一共有多少条信息
SELECT COUNT(*) 
FROM typetbl_song

2.Sum()
求某一字段内容的和

-- 查询Hit字段的总和
SELECT SUM(Hit) 
FROM typetbl_song

3.avg()
求某一字段的平均值

SELECT avg(Hit) 
FROM typetbl_song

4.max(),min()
一列字段的最大值(最小值)

SELECT MAX(Hit),MIN(Hit) 
FROM typetbl_song

在这里插入图片描述

二、分组查询

在这里插入图片描述
语法:
select 字段名
from 表名
group by 分组依据
【having 条件】
eg:根据歌手地区和歌手类型分组,统计歌手人数,要求显示歌手地区、歌手类型和歌手人数
group by后面可以跟多个分组依据

SELECT Area,SingerType,COUNT(*) 
FROM typetbl_singer
GROUP BY SingerType,Area

在这里插入图片描述

2.排序方法order by
同样排序也可以在后面接多个排序依据,前面的优先级高,先依据前面的依据来排列,当存在相同情况的时候再依据第二个来排序
eg:统计每位歌手所唱的歌曲数,要求列出歌手名和歌曲数,并按歌曲数量升序排列

SELECT typetbl_singer.singername,COUNT(*) 
FROM typetbl_singer,typetbl_song 
WHERE typetbl_singer.Singerid=typetbl_song.singerid
GROUP BY typetbl_singer.singername
ORDER BY COUNT(*) ASC, 					-- 先以计数升序排列
LENGTH(typetbl_singer.SingerName) asc	--名字长度升序排列

在这里插入图片描述

三种联接

主要说一下内连接(inner join)
首先有两种语法方式

  1. select 字段名,字段名,…from 表名1,表名2 where 表名1主键 = 表名2主键 (后面可以跟一系列的筛选、排序条件)
  2. select 字段名,字段名,…from 表名1 inner join 表名2 on 表名1主键=表名2主键(同上)
    ———————————————我要分割上下————————————————
    左联接(left join)(以表1为主,当表一有表二没有的数据,也会在查询结果中显示)
    select 字段名,字段名,…from 表名1 left join 表名2 on 表名1主键=表名2主键(同上)
    右联接(right join)(以表2为主,同上)
    还是做一个例子看看
    完全链接(full join) 将两张表的所有的数据放到一张表
    在这里插入图片描述
SELECT sit.singername '歌手姓名',sot.*
FROM singer_table sit LEFT JOIN song_table sot
on sit.singerid=sot.singerid

在这里插入图片描述
该结果是因为在表2里没有下面几个人的信息,但是以表一为主,最后还是显示在了结果栏里。

union联合查询

union介绍

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值