union 查询就是把 2 条或多条 sql 的查询结果 , 合并成 1 个结果集,各语句取出的列数必须相同;如果不相同 , 会报错;
sql1 返回 N 行
sql2 返回 M 行
sql1 union sql2 , 返回 N+M 行
左链接查询
以左表为准,去右表找匹配的数据,找不到用null补齐
语句:select tableA.列1,tableA.列2,tableB.列n from tableA left join tableB on tableA.列 = tableB.列 where 条件
例子
右链接查询
以右表为准,去左表找匹配的数据,找不到用null补齐
语句:select tableA.列1,tableA.列2,tableB.列n from tableA right join tableB on tableA.列 = tableB.列 where 条件
内连接查询
查询左右表中都有的数据,去掉左右表中null的数据
内连接是左右链接的交集
语句:select tableA.列1,tableA.列2,tableB.列n from tableA inner join tableB on tableA.列 = tableB.列 where 条件
联合查询
定义:联合查询主要是unio和union all两个,是将查询结果合并,查询时,查询的字段个数要一样
UNION ALL:合并是不删除重复的行
UNION:合并时候,删除重复相同的行
两个表联合查询时,如果两行数据每一列都相同(无论是什么类型,只要值一样)就合并去重