sql join
最近node的后端小伙伴休病假,成本紧张的公司只能让我这个很low的前端顶上,可惜too young too simple。对于服务器一窍不通的我只能硬上了,不过发现sql语句中的join很意思,所以拿来给入门的小伙伴来分享下
join 简介
join的语句可以将两个或者多个表的行接合起来,join分为LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN用法。
LEFT JOIN and RIGHT JOIN
个人认为这两个可以对比的来介绍,本身就是相反的定义。
LEFT JOIN: 不管B表中有没有与A表相匹配的行,都会返回A表所有的行。
select <select_list> from table_a left join table_b no a.key = b.key
RIGHT JOIN: 通过了解LEFT JOIN那RIGHT JOIN就很好理解了,不管A表中有没有与B表匹配的行都会返回B表的所有行
select <select_list> from table_a right join table_b no b a.key = b.key
上文讲解了left join 和 right join的最基本用法,下边扩展一下其他用法
select <select_list> from table_a left join table_b b no a.key = b.key where b.key is null
INNER JOIN and OUTER JOIN
INNER JOIN:关键字在表中存在至少一个匹配时返回行(与join用法相同)
select <select_list> from table_a inner join table_b b no a.key = b.key
SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name=table2.column_name