SQL在执行JOIN ON时,到底发生了什么?
对于一些SQL初学者,写一个简单的单表查询那是信手拈来。
但是遇到写多表关联查询可能就懵逼了:为什么会有多表查询这种“怪物”?要怎么写?为什么要这样为难我?这是谁发明的?
进而可能会引申出人生的终极哲学问题:我是谁?我在哪?我在做什么?
有点扯远了,但确实能够体会到一些初学者,对多表关联查询的困扰。今天我们就给大家讲解多表关联查询到底是怎么一回事。
大家都知道,多表关联查询的关键字是JOIN...ON,如果只关心怎么使用,可以移步《SQL基础知识V2——JOIN连接》。
本文主要讲解JOIN ON在数据库中是怎么执行的。
测试环境
SQL Server 2017
测试样表
我们新建两张测试表Customers和Orders,表结构如下:
要求:查询每个客户的订单数量
我们先直接写出查询语句:
SELECT a.CustomerName,Count(OrderID) Nums
FROM Customers a
LEFT JOIN Orders b ON a.CustomerID=b.CustomerID
GROUP BY a.CustomerName
相关文章