大家好,又见面了,我是你们的朋友全栈君。
我们在实际应用中,或许会用到关于sql的联合查询的应用,下面来总结一下联合查询的具体应用,做一下记录便于记忆。
首先,通过一个实例来讲一下联合查询(关键词 union)
语法:
select ………
union
select ……..
union
…….
select * from empoloyees where email like "%a%" or department_id >90;
改用union的用法
select * from empoloyees where email like "%a%"
union
select * from empoloyees where department_id >90;
可能很多人不理解,为什么明明可以整合到一起用or解决,为什么还要选择用更为复杂的union
其实,union在下面的情形中使用才会显出优势来。
*查询中国用户中男性的信息和外国用户中男性用户的信息,数据是分别存在两个不同的数据表格中,且数据的字段名不一致*
select id, cname ,csex from t_ca where csex='男'
union
select t_id ,tName,tGender from t_ua where tGender='male';
想一想如果换成用or来解决,你要怎么做?
所以我们通过上面的例子可以看出来联合查询的应用场景就是:
要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息是一致的。
那我们在使用联合查询时需要注意的事项都有哪些,一起来看一下:
1、要求多条查询语句的查询列数是一致的。
2、要求多条查询语句的查询的每一列的类型和顺序最好是对应一致的。
3、注意union的去重,如果不想去重,使用union all可以包含重复项
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/145050.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...