关键字natural
select t1.column1,t2.column2
from table1 t1
natural join table2 t2
使用该语法,解析引擎会自动探测两个表中相同的字段并设定等值条件,这样的字段可以不止一个,有多少个这样的字段就会生成多少个等值条件。相比显式等值连接来说语法更为简洁。
利用自然连接修改此前例子,SQL 语句如下:
select ci.name,ci.countrycode,co.language
from city ci
natural join countrylanguage co
limit 10;
输出结果:
可以看到,此 SQL 语句中没有使用 where
字句,也没有出现连接符,但是也达到了等值连接的效果。这是因为,自然连接会自动去查找两个表中是否有相同的字段(字段名相同、字段类型也相同),找到后自动完成等值连接。如果连接的表中,没有相同字段,会返回一个空结果,如下示例:
select ci.name,ci.countrycode,co.code
from city ci natural join country co;
输出结果: