每天一点数据库之-----Day 7 字段相关与联合结果集
----转载请注明出处:coder-pig
什么是常量字段?
答:就是表中并不存在的字段,但是查询出来的结果看上去上实际存在~如
使用下述SQL:
SELECT '小明超市','香洲店',PName,PPrice FROM T_Product
这里的‘小明超市‘和‘香洲店‘就是常量字段!!
字段间还可以进行计算,如计算商品的总价:
SELECT PName,FNum,PPrice,PPrice * FNum AS '商品总价' FROM T_Product
你完全可以把常量字段看成普通字段来使用,也可以写得更复杂点
如,筛选出总价大于5000的商品信息:
SELECT *,PPrice * FNum AS '总价' FROM T_Product WHERE PPrice * FNum > 5000
表中的某项全部+1
比如表中所有的商品数量+1
UPDATE T_Product SET FNum = FNum + 1; SELECT * FROM T_Product
答:就是把我们想把多个查询结果集放到一个结果集中显示,举个例子:
下面的这个SQL:
SELECT PName,'1.商品' FROM T_Product; SELECT FName,'2.人员' FROM T_Worker;
现在我们想把这两个查询的结果集放到一个结果集中!
这个就是联合结果集!
2.如何实现结果集联合:
使用UNION运算符联合即可!,如上述的SQL只需要加上UNION:
SELECT PName,'1.商品' FROM T_Product UNION SELECT FName,'2.人员' FROM T_Worker;
这样就都显示到一个结果集上了,多个的话再加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;
原文地址:http://blog.csdn.net/coder_pig/article/details/43817219