连接查询
内连接
-
说明
假设A表和B表进行内连接,那么A,B表之间处于平等关系,如果不满足连接的要求,则不显示该项数据
-
等值连接
用法: select a.列名,b.列名 from 表名 a a,b代表这个表的简称,这段语句中可以用a,b代表这两个表,增加了可读性,引用也方便 (inner)join 这里inner表示内连接,可写可不写,增加可读性 表名 b on 连接条件(等值连接:判断相等)
-
非等值连接
用法: select a.列名,b.列名 from 表名 a join 表名 b on 连接条件(非等值连接:判断是否在区间内例如:between...and...)
-
自连接(自己连接自己)
用法: select a.列名,b.列名 from 表A a join 表A b on 连接条件
外连接
-
说明
假设A表和B表进行外连接,A,B表中有一个作为主表,另外一个作为副表,即使数据不匹配的话,主表内容还是正常显示,只是副标中的字段为null
-
左连接
用法: select ... from 表A a 此时表A作为主表 left (outer) join outer可省略,表示外连接,增加可读性 表B b on 连接条件
-
右连接
用法: select ... from 表A a right join 表B b 此时表B作为主表 on 连接条件
多表连接
-
说明
多表连接指的是超过两张表以上的连接
-
写法
只需要在join on后面接着写join on即可
select ... from ... join ... on ... join ... on ... .....