用户运营sql需要学到那种程度?现在多层级的join 就真的不懂为什么要这样写了




```SELECT DISTINCT a.num,a.company,stop_b.name,c.num,c.company   
(为什么表头没有a.xx   b.xx  这里查询的时候可以这样用啊?是num里面其中一条数据a的意思吗?)
FROM route a 
JOIN route b ON a.company = b.company AND a.num = b.num
JOIN route c 
JOIN route d ON c.company = d.company AND c.num = d.num
JOIN stops stop_a ON a.stop = stop_a.id
JOIN stops stop_b ON b.stop = stop_b.id
JOIN stops stop_c ON c.stop = stop_c.id
JOIN stops stop_d ON d.stop = stop_d.id
WHERE stop_a.name = 'Craiglockhart' 
AND stop_d.name = 'Lochend'
AND stop_b.name = stop_c.name;    

求解为什么要这样写?用户运营会简单的查询语句够不够用?

```

这里面的join是内关联,等同于inner join,关联后取的是join两端的交集。类似加了一层过滤,过滤掉了stops表中的关联不到记录的情况。
作为运营的话,完全没有必要掌握这么复杂的SQL。专业的事情交给专业的人做,这种事情一般找数据分析师、数据仓库的同事做。