暂无图片
MySQL 两表关联的时候, 驱动表A,和被驱动表B, 是从A表获取部分,全部,还是一行 符号条件的行后跟驱动表做JOIN ?
我来答
分享
暂无图片 匿名用户
MySQL 两表关联的时候, 驱动表A,和被驱动表B, 是从A表获取部分,全部,还是一行 符号条件的行后跟驱动表做JOIN ?

MySQL 两表关联的时候, 驱动表A,和被驱动表B, 是从A表获取部分,全部,还是一行 符号条件的行后跟驱动表做JOIN ?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
五藏

不同的连接方法,具体的执行过程是不一样的,以最简单的 NL JOIN 为例,执行过程大体如下:

(1)根据筛选条件从A中取得结果集 rsA,rsA 中通常包括关联条件列和主键列,也可能包含 SELECT 语句的投影部分的一些其它列;

(2)遍历 rsA ,获取每一个关联条件列的值 Vi;

(3)在表B中根据(2)中的 Vi 在B表关联列中根据关联条件进行查找;

(4)找到的匹配行作为输出进行临时保存;

(5)根据 SELECT 语句的投影列对(4)中的匹配行进行输出。

关联更新和关联删除语句默认包含了关联查询,过程和上面类似。


可以参考CSDN的这篇文章

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
mysql thread cached怎么还有波动这么大为什么?
回答 2
这个统计的信息更状态表showglobalstatuslike'threads%'线程Threadscached指标有关。这是临时缓存的线程最大值是threadcachesize大小。当新链接进来的时
想把以下的语句,mysql移植到Oracle, 其中的limit offset怎么改呢?
回答 2
已采纳
selectsalaryfrom(selectsalary,rownumrnfrom(SELECTDISTINCTSalaryFROMEmployeeORDERBYSalaryDESC))wherer
Impossible where noticed after reading const tables
回答 4
mark
请问下MYSQL 如何清数据缓存?
回答 2
已采纳
mysql的FLUSH句法(清除缓存)FLUSHflushoption[,flushoption]flushoption可以是下列任何东西:HOSTS:这个用的最多,经常碰见。主要是用来清空主机缓存表
mysql5.7的binlog日志时间能否精确到ms?
回答 2
秒级够了。毕竟都是顺序的。
社区版mysql 5.7.34,执行sys 库下好多视图都报错,请问什么问题呢?
回答 1
看一下是不是root权限如果是root权限,可能是这些视图丢失了可以查一下视图存在不selectfrominformationschema.viewswheretableschema&x27;sys&
MYSQL 多表连接优化
回答 2
从语句里看一下3个点可以先优化一下:1.UNION去掉用or语句匹配2.LEFTJOIN能否使用innerjoin3.LIKE前面%能不能去掉,看看能不能用上一些组合索引4.那个表数据少就用驱动表这个
安装的mysql没有my.ini文件,查询出来的汉字显示问号怎么处理?
回答 1
客户端和服务器字符集不一致。
请问一下MySQL有实例名不?如何获取?通过SQL语句方式
回答 2
已采纳
1、MySQL与Oracle数据库不同,MySQL没有实例名的概念;2、MySQL的数据库名,对应Oracle的Schema,也就是一个用户下的所有对象;3、在MySQL中通过以下命令查看可以操作的数
mysql能按正常安装,不使用自定义安装,正常安装后,再改端口可以吗?
回答 9
学习了