SQL 笔记

2019/08/04 JavaWeb
  • https://www.w3school.com.cn/sql/index.asp

left join, right join, join

left join

W3school 的定义:

LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。

left join ... on ... 即以左边的表为主要表,关联右边的表的数据,使用 on 作为条件筛选,where 为过滤条件。

没有 where 的话,返回的是左边的所有数据,及时某个数据没有在右边的表里找到匹配的。

举个例子:

SELECT *
FROM name t1 LEFT JOIN classes t2 ON t1.grade = t2.id;

返回的是下图蓝色的:

right join

理解了 left join,right join 也是类似的,返回的是右边表的数据:

join

无主次关联 join

SELECT *
FROM name t1 JOIN classes t2 ON t1.grade = t2.id;

返回两个表的交集。

INNER JOIN 关键字在表中存在至少一个匹配时返回行。如果左表中的行在右表中没有匹配,就不会列出这些行。

Thanks

Search

    Table of Contents