union 联合
作用:把两次或多次查询结果合并起来
要求:两次查询的列数一致
推荐:查询的每一列,相对应的列类型也一致
可以来自不同的表
左连接:以左表为准,去右表找数据,找不到,用null补齐。
语法:
select 列1,列2,列N from
tableA left join tableB
on tableA.列 = tableB.列 [此处表连接成一张大表,完全当成普通表看]
where group by having。。。照常写
右连接:以右表为准,去左表找数据,找不到,用null补齐。
语法就是把左连接的left换成right
左右连接的关系:
A站在B的左边 == B站在A的右边
A left join B == B right join A
1.左右连接可以相互转化
2.推荐把右连接转化为左连接
内连接:查询左右表都有的数据,即不要左右连接中null的一部分
内链接是左右连接的交集。
select 列1,列2,列N from
tableA inner join tableB
on tableA.列 = tableB.列 [此处表连接成一张大表,完全当成普通表看]
where group ,having。。。照常写
三表联查