MySQL join和索引

目录

 一、join

二、on

三、left join和right join

left join

right join 

四、MySQL Workbench 图形化软件


 一、join

join具有连接作用。当两个或以上的表有关系时,就可以使用jion来连接这些相关的表处理或分析数据。

join的相关连接机制如下:

会发现jion后的列名是两个表加起来后的结果(可能会出现相同的情况,就像上面例子中一样)。S1 jion S2 后,S1中的列会与S2中的列一一合并一次最后组成新的表。所以上面的例子中最后生成的新表有3 * 2 = 6个列。

如果这时候对这个新生成的表不满意,想要相对应的选项合在一起,我们可以选择使用on。

二、on

on用来添加约束。例如在使用S1 join S2合并表的时,我们想要让S1中的l1列与S2中的l2列相等匹配时,我们可以将语句改成:S1 join S2 on S1.l1 = S2.l2

在列名不重复的前提下,我们也可以直接不用.操作符。

还是上面那个例子:

可以看到合并时不再像之前那样“傻瓜式”合并了,而是将classid和id相等的列合并成一条而形成的新的表。 

三、left join和right join

两个语句是同一个性质,和join相比,left / right join的区别主要在于left / right  join必须要有on

  • left join

left join语句会检查左边表的数据是否都包含在新的表中,如果缺少就用NULL填补上:

要注意一点:对于left join来说左右表的位置很重要。在join中可以交换位置,最终生成的新表都是一样的;但是使用left join的话,交换左右表的位置最终合成的新表是完全不一样的。比如上面这个例子,如果将stu和class的位置交换:

 所以写的时候一定要注意。

  • right join 

和left join同个性质相反:

A right join B = B left join A --> 都是以B为基准的

四、MySQL Workbench 图形化软件

偶然发现的,下载之后连接上自己的库操作操作发现还挺方便的,可以在里面创建管理你的数据库。主要是可以图形化,设计的时候宏观看起来比较方便。但归根结底还是多用终端操作为好,这可以当个辅助。

MySQL Workbench 使用教程 - 如何使用 Workbench 操作 MySQL / MariaDB 数据库中文指南 - 卡拉云说起终端操作,今天还装了一个插件可以自动补全sql语句,巨巨巨巨巨方便啊(咆哮,昨天还在为SQL语句总输错而烦恼。

叫mycli,安装后使用时直接命令行打开相关库操作即可:

还能给命令和表名列名标绿色,看起来舒服多了,我爱死。 

看这可爱的自动补全
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颜 然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值