三种基本类型: 交叉连接,内连接与外连接,交叉连接回的就是一个笛卡尔积. 数学中 = {1,2,3} B = {4,5} XB = {<1,4>,<1,5>,<2,4>数据库中 表就是一个集合,每一行就是一个表:
交叉连接语法 select list from left_tab cross join right_tab; 内连接 在交叉连接的基础上,仅返回满足连接条件的行. 连接条件 使用on关键字来指定. on的用法与where类似. on可以使用连接的所有表中的列值进行判断.
内连接的语法 select list from left_tab inner join right_tab on join_condition; 外连接 在内连接的基础上,返回一些额外的行. 左外连接(左连接) 在内连接的基础上,左表除了返回满足连接条件的行之外,剩下的所有不满足连接条件的行也要一并返回,右表中与之没 有匹配的行的列值设置为null
右外连接(右连接) 在内连接的基础上,右表除了返回满足连接条件的行之外,剩下的所有不满足连接条件的行也要一并返回,左表中与之没 有匹配的行的列值设置为null
外连接语法 select list from left_tab left|right outer join right_tab on join_condition;#查询示例 SELECT * FROM a; SELECT * FROM b; SELECT * FROM a CROSS JOIN b; SELECT * FROM a INNER JOIN b ON a.a2 = b.b2; SELECT * FROM a LEFT OUTER JOIN b ON a.a2 = b.b2; SELECT * FROM a RIGHT OUTER JOIN b ON a.a2 = b.b2;