表连接有两种方法:
join---连接表,对列操作
union--连接表,对行操作,直接连接表的后段输出
union--将两个表做行拼接,同时自动删除重复的行。
union all---将两个表做行拼接,保留重复的行。
例如:
union
将两个 SELECT 语句结合起来,以便从 OrderItems表中检索产品 id(prod_id)和 quantity。其中,一个 SELECT 语句过滤数量为 100 的行,另一个 SELECT 语句过滤 id 以 BNBG 开头的产品,最后按产品 id 对结果进行升序排序。
select prod_id,quantity
from OrderItems
where quantity = "100"
union
select prod_id,quantity
from OrderItems
where prod_id like "BNBG%"
union all
查找学校为山东大学或性别为男性的学生信息,结果不去重
select device_id,gender,age,gpa
from user_profile
where university = "山东大学"
union all
select device_id,gender,age,gpa
from user_profile
where gender = "male"