mysql多表查询生成新的表_MySQL多表查询详解上

本文详细介绍了MySQL中的多表查询,包括等值连接、非等值连接、自联接、外连接等,通过实例解析了如何避免笛卡尔积现象,并展示了如何进行多表查询的筛选、分组、排序等操作,适合MySQL初学者巩固多表查询知识。
摘要由CSDN通过智能技术生成

时光在不经意间,总是过得出奇的快。小暑已过,进入中暑,太阳更加热烈的绽放着ta的光芒,...在外面被太阳照顾的人们啊,你们都是勤劳与可爱的人啊。在房子里已各种姿势看我这篇这章的你,既然点了进来,那就由我继续带你回顾MySql的知识吧!

回顾练习资料girls库以及两张表的脚本:

引题:笛卡尔现象,先来观看一下两张表。

SELECT * FROM boys;

0790975679955036d675ecc1e22d77bb.png

SELECT * FROM beauty;

57fe5750e5d8766197d9824015a0d328.png

SELECT NAME,boyname FROM boys,beauty;

最终结果:12*4=48行

c1cc71ce16886d19bc790068e839b941.png

#进阶6:连接查询

含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询

笛卡儿积现象: 表1 有m行,表2有n行,结果=m*n行

产生原因:没有有效的连接条件

解决方法:添加有效的连接条件

连接分类:

按年代分类:

SQL1992标准(192标准):仅支持内连接

SQL1999标准(199标准) [推荐]:支持内连接+外联结(左外与右外)+交叉连接

按功能分类:

内连接:

等值连接

非等值连接

自联结

外连接:

左外连接

右外连接

全外连接

交叉连接:

左外连接

右外连接

全外连接

交叉连接:

SELECT NAME,boyname FROM boys,beauty

WHERE beauty.boyfriend_id = boys.id;

ebcd41007acd9f765360ff9b9e7c9ba3.png

#一.SQL192标准

#1.等值连接

①多表等值连接的结果为多表的交集部分

②n表连接,至少需要n-1个连接条件

③多表的顺序没有要求

④一般需要为表起别名

⑤可以搭配前面介绍的所有子句使用,比如,排序,分组,筛选。

#多表

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值