每天一点数据库之-----Day 7 字段相关与联合结果集
每天一点数据库之-----Day 7 字段相关与联合结果集
----转载请注明出处:coder-pig
一.字段相关
1.常量字段:
什么是常量字段?
答:就是表中并不存在的字段,但是查询出来的结果看上去上实际存在~如
使用下述SQL:
SELECT '小明超市','香洲店',PName,PPrice FROM T_Product
运行SQL:
这里的‘小明超市‘和‘香洲店‘就是常量字段!!
2.字段间的计算
字段间还可以进行计算,如计算商品的总价:
SELECT PName,FNum,PPrice,PPrice * FNum AS '商品总价' FROM T_Product
运行SQL:
你完全可以把常量字段看成普通字段来使用,也可以写得更复杂点
如,筛选出总价大于5000的商品信息:
SELECT *,PPrice * FNum AS '总价' FROM T_Product WHERE PPrice * FNum > 5000
运行SQL:
3.一个常用的例子:
表中的某项全部+1
比如表中所有的商品数量+1
UPDATE T_Product SET FNum = FNum + 1; SELECT * FROM T_Product
运行SQL:
二.联合结果集
1.什么是联合结果集?
答:就是把我们想把多个查询结果集放到一个结果集中显示,举个例子:
下面的这个SQL:
SELECT PName,'1.商品' FROM T_Product; SELECT FName,'2.人员' FROM T_Worker;
运行SQL:
现在我们想把这两个查询的结果集放到一个结果集中!
这个就是联合结果集!
2.如何实现结果集联合:
使用UNION运算符联合即可!,如上述的SQL只需要加上UNION:
SELECT PName,'1.商品' FROM T_Product UNION SELECT FName,'2.人员' FROM T_Worker;
运行SQL:
这样就都显示到一个结果集上了,多个的话再加UNION关键字,很简单吧!
3.使用UNION的注意事项:
1)每个结果集必须有相同的列数
2)每个结果集的每个对应列的数据类型需要相同或者能转换为同一种数据类型
3)如果多个结果集中存在某个记录的列中的内容都相同的话,即重复,只会保留一条
如果你不想这样的话,这个时候你可以在UNION运算符后使用ALL操作符!
即UNION ALL!
4.联合结果集的使用示例:
联合结果集更多的时候是在制作报表的时候,当我们想把两个没有直接关系的数据显示到同
一张报表中,那么使用UNION可以给我们带来便利!这里写些简单的使用例子!
例子:查询商品单价最高与最低,以及员工中最高薪资与最低薪资:
SELECT '商品最高单价',MAX(PPrice) FROM T_Product UNION SELECT '商品最低单价',MIN(PPrice) FROM T_Product UNION SELECT '员工最高薪资',MAX(FSalary) FROM T_Worker UNION SELECT '员工最低薪资',MIN(FSalary) FROM T_Worker;
运行SQL:
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。