控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

SQL语法的重要知识点总结

作者:未知 出处:cnblog 2013年07月31日 阅读:

 好几年没写SQL语句了。现在到了新的team,需要用到数据库。作为QA的话时常需要使用客户端工具连接到数据库中找寻或修改数据。这么长时间没使用,一些SQL的使用技巧都忘得差不多了。晚上看了一些资料,花了1个多小时又捡起了曾经的知识。现在总结一下以方便以后查阅。

 
1.SQL不是大小写敏感的。
 
2.分号是分割多条SQL语句的标准的分隔符,所以在单条SQL语句后面总加上分隔符是不会出错的。
 
3.DISTINCT关键字用于剔除重复的结果数据。SELECT DISTINCT City FROM Customers;意味着从Customers表中返回不重复的City值。
 
4.ORDER BY用于对查询结果排序。 ORDER BY column_name ASC表示递增排序,也是默认顺序,可以省略ASC。 ORDER BY column_name DESC表示递减排序; ORDER BY后面可跟多个列名进行排序。
 
5.返回指定数目的记录。在SQL Server/MS Access中可以使用 SELECT TOP number|percent column_name(s) FROM table_name; MySQl中语法是 SELECT column_name(s) FROM table_name LIMIT number;Oracle中语法是SELECT column_name(s) FROM table_name WHERE ROWNUM <= number;. SELECT TOP number PERCENT * FROM table可以返回指定指定百分数的数据。
 
6.使用LIKE可以匹配字符串值,同时可以使用通配符。%匹配0或多个字符,_匹配一个字符,[charlist]匹配一组字符,[^charlist]或[!charlist]表示匹配不在此列表中的字符。
 
7.使用AS关键字可以给列或表起别名。也可以给组合后的列起别名,如 SELECT CustomerName, Address+', '+City+', '+PostalCode+', '+Country AS Address FROM Customers;
8.使用JOIN关键字可以合并两个或连个以上的表的数据行,要基于所有表中的某一列建立一个连接条件。Join有四种:
 
•INNER JOIN返回两个表中满足条件的行数据。
•LEFT JOIN返回左表所有行数据及满足条件的右表行数据。
•RIGHT JOIN返回右表的所有行数据及满足条件的左表行数据。
•FULL JOIN返回左表和右表所有行数据行。
9.UNION用于合并两个或多个查询结果。要求查询结果的列数及数据类型要一样。
 
10.SELECT INTO可以将一个表中数据插入到另一个新表中。如 SELECT * INTO CustomersBackup2013 FROM Customers;它还有个巧妙的用法是创建一个空的新表格,其schema与后者一致,方法是SELECT * INTO newtable FROM table1 WHERE 1=0;
11.INSERT INTO SELECT与SELECT INTO使用较相似,不同的是SELECT INTO会创建新表,而INSERT INTO SELECT是插入到已存在的表中。
 
12.一些常用的SQL函数。(注意这些函数并一定都是通用的,但所有数据库基本上都有类似的功能)
 
聚合函数
 
•AVG() - 求平均值
•COUNT() - 返回行数
•FIRST() - 返回第一个值
•LAST() - 返回最后一个值
•MAX() - 返回最大值
•MIN() - 返回最小值
•SUM() - 求和
其他常用函数
 
•UCASE() - 转换为大写
•LCASE() - 转换为小写
•MID() - 提取字符串
•LEN() - 获取字符串长度
•ROUND() - 对数据进行舍入
•NOW() - 返回当前系统时间
•FORMAT() - 格式化field的显示
13.GROUP BY用于对使用了聚合函数的查询结果进行分组。这是一个很强大的语法。
 
14.HAVING用于对使用了聚合函数的字段进行条件筛选
 

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统