MySQL汇总和分组数据


当前第2页 返回上一页

二 连接查询

1. 多表连接

例:查询分数信息,显示玩家昵称,游戏名称和分数

select user_name as '昵称', game as '游戏名称' , score as '分数' from users.user_qq = scores.user_qq and game.gno= scores.gno

连接查询分为内连接和外连接两种

内连接特点:相连接的两张表地位平等

如果一张表中在另一张表中不存在对应数据,则不做连接

from 子句后面直接出现多个表名,这种连接方式即属于内连接,是隐式内连接

显示内连接格式:select col_list from table1[inner] join table2 on table1.col=table2.clo1

例:查询分数信息,显示玩家昵称,游戏名称和分数

select user_name as '昵称', g_name as '游戏名称', score as '分数' from games inner join scores on games.gno =scores.gno

inner join users on score.user_qq=user.user_qq

例:查询每个玩家的昵称,总分和平均分

select user_name as '昵称',sum(score) as '总分',avg(score) as '平均分' from users U inner join scores S on S.user_qq = U.user_qq group by U.user_qq,user_name

例:查询平均分数大于3500的分数信息,显示玩家昵称,总分数,平均分数,并按照平均分数降序排列

select user_name as '昵称',sum(score) as '总分',avg(score) as '平均分' from users U inner join scores S on S.user_qq = U.user_qq group by U.user_qq,user_name having avg(score)>3500 order by avg(score) desc

外连接分为左连接和右外连接

外连接特点:做连接的两个表地位不平等,其中有一张的基础表

基础表中的每条数据必须出现,即使另一张表中没有数据与之匹配,也要用NULL补齐

左外连接时左表是基础表,右表外连接时右表是基础表

语句中先出现的表为'左表', 后出现的表为'右表'

外连接格式: SELECT COL_LIST FROM TABLE1 LEFT/RIGHT[OUTER] JOIN TABLE2 ON TABLE1.COL=TABLE2.COL

例:查询所有玩家关于5号游戏的分数信息

select user_name as'昵称' gno as '游戏编号', score as '分数' from users U left join scores S on U.user_qq=S.user_qq and S.gno=5

以上就是MySQL汇总和分组数据的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

mysql怎么在当前时间增加一小时

mysql基础入门的详细介绍

mysql与oracle数据库停止与启动的批处理文件

mysql表的连接查询有哪些?

详细介绍mysql理论和基础知识

mysql数据库如何导出数据?

mysql字段类型有哪些

mysql查询结果顺序按in()中id的顺序排列的实例分析

mysql双向备份的方法介绍(附代码)

介绍mysql索引失效的情况

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...