前言
在实际业务之中,我们经常会遇见双表查询的问题。如何更加优雅,以及更加快的拿到我们所想要的数据。这便是我们经常所会遇见的问题。
最简单解决问题的方式,便是我们要得到一份详细的数据,来知道MYSQL对于这条SQL是如何解析的,每一句扫描了多少行,返回了多少数据。但是MYSQL似乎并没有给出这个问题的答案。因此想要知道如何,就只能依靠工程师们自己的经验。
下面,我们就根据一个实际并且简单的也无需求来谈论这个问题。
知道LEFT JOIN 在不同的查询条件下执行步骤
基础问题
假设我们在做一个简单的快递项目。当前我们有一个需求:
便是在我们后台项目之中,增加一个查询页面,查询出当前所有快递(express)的信息,以及快递的发件人(user)的姓名。
解决这个问题的SQL很简单:
SELECT * FROM express e LEFT JOIN user u ON e.user_id