MySQL数据库的左右链接
(说明:本人第一次写博客,可能有些地方不太严谨还请大佬们严格指出&&批评,还请多多指教。本文章很简单根据个人理解说明一下数据库左右链接)
什么是数据库左右链接?
数据库左右连接就是出现主表、副表之分。
MySQL没有外链接,也就是全连接。表的连接方法有inner、outer、natural、left、right.
内连接、左链接、右链接
1.内连接
- 代码:inner join on
- 释义:将两个表中的记录进行组合,返回关联字段符合的记录
例子:假设tb_1表内含字段A、B、C,tb_2表内含字段A、B、D发生内链接,即关联字段为A、B
2.左连接
- 代码:left join on/left outer join on
- 释义:根据SQL标准会将你命名的第一个表看成“左侧”,而第二个表看成“右侧”。左链接就是,将你希望第一个表中的所有行和第二个表中的所有匹配行。话句话说,就是左表的记录将会全部表示出来,而右表只会显示符合搜索条件的记录,右表记录不足的地方均为null;
例子:假设tb_1表内含字段A、B、C,tb_2表内含字段A、B、D发生左链接,即关联字段为A、B、C (因为tb_2内没有C字段,所以右边C为null)
3.右链接
- 代码:right join on/right outer join on
- 释义:同上面2所示,与之相反,右表的记录将会全部表示出来,而左表只会显示符合搜索条件的记录,左表记录不足的地方均为null;
例子:假设tb_1表内含字段A、B、C,tb_2表内含字段A、B、D发生右链接,即关联字段为A、B、D
左连接和右连接的区别
- 左连接,就是以左表作为主要的表,右表没有的数据会以null显示;
- 右连接,就是以右表作为主要的表,左表没有的数据会以null显示;
常用
例如将users1与users2的连接:
- 自然连接:select * from users1 natural join susers2;
- 等值连接:select * from users1,users2 where usesr1.id = users2.id;
关于软件测试