sql小总结2
SQL NULL 值
如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。这意味着该字段将以 NULL 值保存。
NULL 值的处理方式与其他值不同。
NULL 用作未知的或不适用的值的占位符。
注释:无法比较 NULL 和 0;它们是不等价的。
无法使用比较运算符来测试 NULL 值,比如 =, <, 或者 <>。
--------------->mysql中ifnull的用法
SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))
FROM Products
或者
SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))
FROM Products
-------------------------------------------------------------------------------------------------------------------------------------------------------
各种函数的应用
count(*)和count(column)的区别是后者会忽略null的选项。
在用sum函数的时候通常要和group by 结合使用.当然,group by 后面可以跟多个列。
SELECT Customer,OrderDate,SUM(OrderPrice) FROM Orders
GROUP BY Customer,OrderDate 切记:group by一般要和聚合函数结合使用,否则就没什么意义,并且假如只有group by没有什么聚合函数,那么查出的记录会丢失一部分。
在group by分组后每个分组对应1个count();
-----------------------------------------------------------------------------------------------------------------------------------
sql中having子句的应用,因为where关键字无法与合计函数一起使用,Having函数代替了where函数.
例如我们需要查找订单总额大于2000的用户...
SELECT Customer,SUM(OrderPrice) FROM Orders GROUP BY Customer HAVING SUM(OrderPrice)<2000 当然,where无法使用是指,不能放到group by 子句后面,可以如下使用
select Customer ,SUM(OrderPrice) from Orders wherr customer ='A' or customer ='B' group by customer having sum(orderprice) >1500 ------------------------------------------------------------------------------------------------------------------------------------
ucase,lcase将数据表中的某列置为大写或者小写
select ucase(firstname) as u_name from person;
-----------------------------------------------------------------------------------------------------------------------------------
mid函数用于从文本字段中截取字符串,比如 mid(firstname,start[,end]);其中start,end可以随便写,或者返回数据或者返回空,不会报错。 假如想提取第二个字段,可以这么写,mid(firstname,2,2);返回来就是第二个字符。
SELECT MID(column_name,start[,length]) FROM table_name
select mid(firstname ,1,3) from person;
-----------------------------------------------------------------------------------------------------------------------------------
LEN 函数返回文本字段中值的长度。
select len(firstname) from person;
----------------------------------------------------------------------------------------------------------------------------------
ROUND 函数用于把数值字段舍入为指定的小数位数。
select customer ,round(orderprice,0) from orders ;意思是要把订单金额保留整数。
-------------------------------------------------------------------------------------------------------------------------------------------------------
NOW 函数返回当前的日期和时间。
select now() as perDate from person ;
----------------------------------------------------------------------------------------------------------------------------------
FORMAT 函数用于对字段的显示进行格式化。---->format(column,format)其中两个参数是必须的。
SELECT ProductName, UnitPrice, FORMAT(Now(),'YYYY-MM-DD') as PerDate FROM Products。
----------------------------------------------------------------------------------------------------------------------------------
sql小总结2的更多相关文章
- SQL小汇总
SQL小汇总 1.对每个时段的数据进行统计2.查询时间条件(to_date)3.插入序列号和系统时间4.查询当天.7天内.30天内5.查询前后x小时.分钟.天.月.6.保留小数点后4位7.查询字段A中 ...
- 几个SQL小知识
写在前面的话:之前做的一个项目,数据库及系统整体构架设计完成之后,和弟兄们经过一段时间的编码,系统如期上线,刚开始运行一切良好,后来随着数据量的急剧膨胀,慢慢出现了很多莫名其妙的问题,经过调试,修改了 ...
- SQL小技巧小知识
1.[ ]的使用 当我们所要查的表是系统关键字或者表名中含有空格时,需要用[]括起来,例如新建了两个表,分别为user,user info,那么select * from user和select * ...
- 11个实用经典的SQL小贴士
学习工作之余,在没有要解决问题的压力之下,还是建议系统的看看书,对于一些认为没啥用的知识点,也建议去仔细的看看,练练手,说不定什么时候就用到了,到时也好有针对性的去查,不至于盲目的按照自己的思路,重复 ...
- 参数化SQL小认识
在做机房收费系统项目,编写数据连接并访问数据库时,见别人都用了带“@”字符的SQL语句,就很好奇为什么都用这个语句呢?直接拼写SQL语句不是更加方便吗?带着这个问题上网查资料,才知道原来他们用的是参数 ...
- SQL小练习
1.现在有两张表订单表TB_ORDER,包括字段:order_id(订单号),username(用户名),amount(订单金额),order_time(下单时间), product_id(商品ID) ...
- 几个SQL小知识(转)
出处:http://www.cnblogs.com/wuguanglei/p/4205976.html 写在前面的话:之前做的一个项目,数据库及系统整体构架设计完成之后,和弟兄们经过一段时间的编码,系 ...
- 几个SQL小知识(转)
原文地址:http://www.cnblogs.com/wuguanglei/p/4205976.html 写在前面的话:之前做的一个项目,数据库及系统整体构架设计完成之后,和弟兄们经过一段时间的编码 ...
- sql小计合计
转自:http://www.jb51.net/article/18860.htm 这里介绍sql server2005里面的一个使用实例: CREATE TABLE tb(province nvarc ...
- sql小计汇总 rollup用法实例分析
这里介绍sql server2005里面的一个使用实例: ),city ),score int) GO 1. 只有一个汇总 select province as 省,sum(score) as 分数 ...
随机推荐
- 【Leetcode】Pascal's Triangle II
Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3, Return [1,3 ...
- telnet模拟http訪问
HTTP协议经常使用的无非就那么几个命令 GET HEAD PUT POST 此处简单说下http的GET和HEAD 举两个简单的样例: GET的样例 telnet serverip 80 GET h ...
- WEB 3D SVG CAD 向量 几个实施
一.他们所有的发展.从地上爬起来 VML+SVG发展矢量地图.你并不需要导入第三方的图片作为背景,直接在地图编辑器可以在底图内容编辑,由于岩石.巷道.煤层.画水.础地图样子再在其上面画出智慧线等设备, ...
- Unreal Engine 4 C++ 能够创建角色Zoom摄像头(资源)
游戏摄像头可以观察到的距离越近,作用和拉远是一个比较普遍的要求,UE4它也实现比较简单. 在这篇文章中TopDown模板案例,解释如何,分步实施能Zoom摄像头. 创建TopDown模板C++项目达产 ...
- UI —— 计算器
#import <UIKit/UIKit.h> @interface MyViewController :UIViewController { NSInteger _firstName; ...
- perl操作sqlserver实现BCP
#!C:\Perl64\bin #由BCP备份和恢复SQLSERVER指定表 use 5.014; #加载用户和password型材 my $username ; my $passwd; ##得到us ...
- 左右10g DG中间ORA-19527和ORA-00312错误解决演示示例
这些天大厦10g DG Windows 2008 R2测试环境,主要明天去给客户端,再建一个生产资源库DG,其中一些发现的问题.特此记录下来 因为将要部署到生产环境.所以考虑在线搭建DG的方案,即不停 ...
- 【C语言探索之旅】 第二部分第六课:创建你自己的变量类型
内容简介 1.课程大纲 2.第二部分第六课: 创建你自己的变量类型 3.第二部分第七课预告: 文件读写 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C ...
- php调用webservice的几种方法
原文:php调用webservice的几种方法 1.WSDL模式: $soap = new SoapClient("http://192.168.6.69:8899/Service1.asm ...
- Mac OS温馨提示17:七彩花哨的输入
OSX Mavericks中国的文字输入功能,色于windows,甚至提供了强大的手写输入功能和语音输入功能,而且发展到如今,已经有非常多种第三方输入法支持Mac了. 一.主要的输入法 ...