多个表关联查询需要依据多表之间列关系将其连接起来,这种连接方式分为三种:内连接(inner join)、外连接(outer join)及交叉连接(cross join)。
内连接(inner join):
如果依据多个表之间列关系进行内连接,查询结果集仅包括满足连接条件的数据行。内连接分为等值连接、不等值连接以及自然连接,其中等值连接最为常见。
等值连接:在连接条件中使用等号(=)运算符比较被连接列的列值是否相等,分显式等值连接和隐式等值连接:
1、显式等值连接:
select ui.*,addr.* from user_info ui [inner] join address addr on ui.id = addr.user_id;
2、隐式等值连接:
select ui.*,addr.* from user_info ui,address addr where ui.id = addr.user_id;
上面SQL语句执行结果:
外连接(outer join) :
如果依据多表之间列关系进行外连接,查询结果集不仅仅包括满足on连接条件的数据行,还包括不满足