MySQL不同数据库不同表连表查询(跨库连表查询)

前提:文章为解决同一个连接不同数据库的表进行关联查询,本文以left join做示例其他的按照同样方法自己测试!

首先拿到这个表,简称表A吧,
表A在A数据库
MySQL不同数据库不同表连表查询(跨库连表查询)_第1张图片

然后这个是表B
表B在B数据库
MySQL不同数据库不同表连表查询(跨库连表查询)_第2张图片
红线框的看不懂的去重新学一下数据库知识谢谢!

两张表在数据库中的关系
表B
MySQL不同数据库不同表连表查询(跨库连表查询)_第3张图片

表A
MySQL不同数据库不同表连表查询(跨库连表查询)_第4张图片

同一个连接不同数据库
MySQL不同数据库不同表连表查询(跨库连表查询)_第5张图片

现在来关联两张表,其实语法很简单,只需要在表名前面加上数据库名字

数据库.表
数据库.表.字段

SELECT 
  *
FROM
  mrcc2019.`crm_callbusiness` AS a 
  LEFT JOIN callcenter.`spzc_cdr_cdr` AS b 
    ON (a.`call_id` = b.`uuid`)

就关联出来了

MySQL不同数据库不同表连表查询(跨库连表查询)_第6张图片

语法
SELECT 字段 FROM 数据库A.表A LEFT JOIN 数据库B.表B ON(表A.属性 = 表B.属性)

怎么我用法一样还是查不出来,报错?
看下面
注意事项:
注意数据A跟数据库B的字符集跟排序规则,需要保持一直
MySQL不同数据库不同表连表查询(跨库连表查询)_第7张图片
一致了怎么还报错?

你再看看字段的字符集排序规则是否一直!!!
MySQL不同数据库不同表连表查询(跨库连表查询)_第8张图片

教程到此结束,如果有帮到您点个赞,如果有错误请指出来!

你可能感兴趣的:(SQL)