Union操作符
MySQL Union操作符,用于连接2个以上select查询的结果,组合到一个结果集合中。多个select语句会删除重复的数据。
案例
原始数据:mytable_tbl
原始数据:user_info2
Union语句查询,都有哪些国家(先求并集,再去重)
select country from mytable_tbl
union
select country from user_info2;
查询并集不去重Union all,同时可以使用带有where的条件
select name,age, country from mytable_tbl
where country='CN'
union all
select name, age, country from user_info2
where country='CN';
Join联合查询
你可以在select, update, delete中,使用Join联合多表查询
Join按照功能可以分为3类:
- Inner Join(内连接,或者等值连接):获取两个表中,交集部分的记录。
- Left Join(左连接):获取左表中的记录,右表中没有匹配记录,就自动的用Null替代
- Right Join(右连接):获取右表中的记录,左表中没有匹配记录,就自动的用Null替代
Inner Join (可以省略Inner)
select * from user_info1
join user_info2
on user_info1.name=user_info2.name;
如果选择具体的字段,则需要说明清楚,是属于哪个表格下的字段,否则会有error
select user_info1.name, user_info1.gender, user_info1.age, user_info2.country from user_info1
join user_info2
on user_info1.name=user_info2.name;
Left Join左连接查询
select
*
from
user_info1
left join
user_info2
on
user_info1.name=user_info2.name;
从左连接查询后的表格中,选取所需字段,要说明清楚属于哪个表格下的字段名。
select
user_info1.name, user_info1.age, user_info1.gender, user_info2.country
from
user_info1
left join
user_info2
on
user_info1.name=user_info2.name;
Right Join右连接查询
select
*
from
user_info1
right join
user_info2
on
user_info1.name=user_info2.name;