My SQL 连接查询
来源:互联网 发布:c语言入门经典(第四版) 编辑:程序博客网 时间:2024/06/05 15:01
1.FROM子句进行多表查询
查询分数信息,显示玩家昵称,游戏名称和分数(用FROM +查询分数显示的类型)
SELECT user_name,gname,scoreFROM users,games,scoresWHERE users.user_qq=scores.user_qqAND games.gno=scores.gno
2.内连接
特点:
2.1 相连接的两张表地位平等
2.2 如果一张表中在另一张表中不存在对应数据,则不做连接
2.3 FROM子句后面直接出现多个表名,这种连接方式即属于内连接,是隐式内连接
SELECT user_name,scoreFROM users,scoresWHERE users.user_qq=scores.user_qq2.4内连接的格式
SELECT user_name,gname,scoreFROM games INNER JOIN scoresON games.gno=scores.gnoINNER JOIN usersON scores.user_qq=users.user_qqgames这张表取内连接scores这张表,连接条件是games.gno=scores.gno,最后scores这张表再去连接users这张表,连接条件是scores.user_qq=users.user_qq
例:查询每一位玩家的昵称,总分和平均分
SELECT user_name AS '昵称',SUM(score) AS '总分',AVG(score) AS '平均分'FROM users INNER JOIN scoresON users.user_qq=scores.user_qqGROUP BY users.user_qq,users.user_name先内连接,再分组统计
例:查询平均分数大于3500的分数信息,显示玩家昵称,总分数,平均分数,并按平均分数降序排列
SELECT user_name AS '昵称',SUM(score) AS '总分',AVG(score) AS '平均分'FROM users INNER JOIN scoresON users.user_qq=scores.user_qqGROUP BY users.user_qq,users.user_nameHAVING AVG(score)>2500ORDER BY AVG(score) DESC后头加两个排序语句即可
3.外连接
外连接的格式:
SELECT user_name,gno,scoreFROM users LEFT JOIN scores//以分数表为基础表外连接用户表ON users.user_qq=scores.user_qqAND gno=5查询所有玩家关于5号游戏的分数信息
内外连接方式的区别:外连接有基础表,基础表中的数据一定出现,内连接无基础表,当内连接中的数据没有匹配到时,则不会显示到查询结果集中
0 0
- My SQL 连接查询
- My SQL的内连接,外链接查询
- My SQL 子查询
- My SQL数据查询
- [My SQL] 组合查询
- MY SQL 多表查询
- [My SQL] 使用子查询
- SQL查询--连接查询
- oracle、my sql、sql随机查询语句
- My SQL 对数据的简单查询
- My SQL 对数据的条件查询
- My SQL 对查询结果排序
- My SQL 联合查询的使用
- My SQL的查询语句分析
- SQL查询中的连接
- SQL查询中的连接
- Sql连接查询
- SQL连接查询
- 软件项目版本号的命名规则及格式
- 基于位置的服务
- numpy.r_
- 使用Eclipse + PyQT设计GUI程序
- C语言产生随机数
- My SQL 连接查询
- HDU2486 A simple stone game 博弈论
- 小点
- junit问题记录
- 排序算法——归并排序
- 题目1002:Grading
- 线性结构--->循环队列的链式储存实现
- 如何用MAT分析Android程序的内存泄露
- Android开发——View绘制过程源码解析(一)