SQL中的多表查询

联合查询/union

拼接两张表,需要两张表的列的数量相同

 

关联查询

关联查询时两张表会以笛卡尔乘积的关系出现,为了排除不需要的选项往往需要通过where语句加以筛选

内连接

 -- 方法一
select 列名,列名... from 表名 别名, 表名 别名 where 条件
 -- 有相关连的数据
 -- 优点:简单明了
 -- 缺点:所有的判断都放在where语句后边难以辨别
-- 方法二
select 列名,列名... from 表名 别名
 inner join 表名 别名 on 连接条件,
 inner join 表名 别名 on 连接条件,
 where 条件
 -- 在使用inner join 时需要注意 表加载到虚拟机中的顺序
 -- 我们一般选用外键多的表作为第一张表

外连接

 -- 左外链接
select 列名,列名... 
 from 表名1 leet outer join 表名2 on 条件
 -- 连接时以leet左边的表为主要表,左边的表数据要全部显示,无论是否有关关联
-- 右外连接
select 列名,列名... 
 from 表名1 right outer join 表名2 on 条件
 -- 连接时以right右边的表为主要表,右边的表数据要全部显示,无论是否有关关联

 

猜你喜欢

转载自www.cnblogs.com/-Archenemy-/p/12113828.html