SQL语法的重要知识点总结

好几年没写SQL语句了。现在到了新的team,需要用到数据库。作为QA的话时常需要使用客户端工具连接到数据库中找寻或修改数据。这么长时间没使用,一些SQL的使用技巧都忘得差不多了。晚上看了一些资料,花了1个多小时又捡起了曾经的知识。现在总结一下以方便以后查阅。
SQL不是大小写敏感的。
分号是分割多条SQL语句的标准的分隔符,所以在单条SQL语句后面总加上分隔符是不会出错的。
DISTINCT关键字用于剔除重复的结果数据。SELECT DISTINCT City FROM Customers;意味着从Customers表中返回不重复的City值。ORDER BY用于对查询结果排序。ORDER BY column_name ASC表示递增排序,也是默认顺序,可以省略ASC。ORDER BY column_name DESC表示递减排序;ORDER BY后面可跟多个列名进行排序。返回指定数目的记录。在
SQL Server/MS Access中可以使用SELECT TOP number|percent column_name(s)MySQl中语法是
FROM table_name;SELECT column_name(s)Oracle中语法是
FROM table_name
LIMIT number;SELECT column_name(s).
FROM table_name
WHERE ROWNUM <= number;SELECT TOP number PERCENT * FROM table可以返回指定指定百分数的数据。使用
LIKE可以匹配字符串值,同时可以使用通配符。%匹配0或多个字符,_匹配一个字符,[charlist]匹配一组字符,[^charlist]或[!charlist]表示匹配不在此列表中的字符。使用
AS关键字可以给列或表起别名。也可以给组合后的列起别名,如SELECT CustomerName, Address+', '+City+', '+PostalCode+', '+Country AS Address
FROM Customers;使用
JOIN关键字可以合并两个或连个以上的表的数据行,要基于所有表中的某一列建立一个连接条件。Join有四种:- INNER JOIN返回两个表中满足条件的行数据。
- LEFT JOIN返回左表所有行数据及满足条件的右表行数据。
- RIGHT JOIN返回右表的所有行数据及满足条件的左表行数据。
- FULL JOIN返回左表和右表所有行数据行。
UNION用于合并两个或多个查询结果。要求查询结果的列数及数据类型要一样。SELECT INTO可以将一个表中数据插入到另一个新表中。如SELECT *它还有个巧妙的用法是创建一个空的新表格,其schema与后者一致,方法是
INTO CustomersBackup2013
FROM Customers;SELECT *
INTO newtable
FROM table1
WHERE 1=0;INSERT INTO SELECT与SELECT INTO使用较相似,不同的是SELECT INTO会创建新表,而INSERT INTO SELECT是插入到已存在的表中。一些常用的SQL函数。(注意这些函数并一定都是通用的,但所有数据库基本上都有类似的功能)
聚合函数
- AVG() - 求平均值
- COUNT() - 返回行数
- FIRST() - 返回第一个值
- LAST() - 返回最后一个值
- MAX() - 返回最大值
- MIN() - 返回最小值
- SUM() - 求和
其他常用函数
- UCASE() - 转换为大写
- LCASE() - 转换为小写
- MID() - 提取字符串
- LEN() - 获取字符串长度
- ROUND() - 对数据进行舍入
- NOW() - 返回当前系统时间
- FORMAT() - 格式化field的显示
GROUP BY用于对使用了聚合函数的查询结果进行分组。这是一个很强大的语法。HAVING用于对使用了聚合函数的字段进行条件筛选。
如果要详细了解SQL的这些使用的话,我推荐http://www.w3schools.com/sql/default.asp。你不仅可以看到说明和示例,也可以随时实时练习。实在是不可不得的好网站。
SQL语法的重要知识点总结的更多相关文章
- 值得注意的ibatis动态sql语法格式
一.Ibatis常用动态sql语法,简单粗暴用一例子 <select id="iBatisSelectList" parameterClass="java.util ...
- Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等)
Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等) 子查询 描述:查询订单数超过5的顾客信息 查询句法: var 子查询 = from c i ...
- SQL 语法总结
学了一个月的java,开始有入门的感觉.这段时间接触到了java的JDBC, 发现学习这部分的内容还是要有SQL的基础,于是花费了几天时间学习了一下SQL语法,并将其总结于下. 选择数据 SELECT ...
- SQL语法和运算符(一)
一个数据库通常包含一个或多个表.每个表由一个名字标识,表包含带有数据的记录(行). 一些最重要的SQL命令(SQL对大小写不敏感): 一.SQL语法 select:从数据库中提取数据 update:更 ...
- [转]MySQL 最基本的SQL语法/语句
MySQL 最基本的SQL语法/语句,使用mysql的朋友可以参考下. DDL-数据定义语言(Create,Alter,Drop,DECLARE) DML-数据操纵语言(Select,Delete ...
- SQL语法整理
SQL是Structured Query Language的缩写,中文全名为结构化查询语言,是一种用于数据存储,查询,更新和管理的关系数据库系统. SQL语法 创建表 create table tab ...
- ORACLE分页查询SQL语法——最高效的分页
--1:无ORDER BY排序的写法.(效率最高)--(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!) SELECT * FROM (SELECT ...
- [Android新手区] SQLite 操作详解--SQL语法
该文章完全摘自转自:北大青鸟[Android新手区] SQLite 操作详解--SQL语法 :http://home.bdqn.cn/thread-49363-1-1.html SQLite库可以解 ...
- 有没有好用的开源sql语法分析器? - 匿名用户的回答 - 知乎
有没有好用的开源sql语法分析器? - 匿名用户的回答 - 知乎 presto,hive,drill,calcite,sparksq
随机推荐
- Spring —— 三种配置数据源的方式:spring内置、c3p0、dbcp
01.Spring内置数据源配置Class:DriverManagerDataSource全限定名:org.springframework.jdbc.datasource.DriverManagerD ...
- error in opening zip file 1 错误
项目部署服务启动时会出现: error in opening zip file 1 错误 原来是不同服务器编译过的jar包直接下载后发布有问题,重新上传本地编译好的lib下面的jar包后,启动服务,正 ...
- ios 更新约束
[view setNeedsUpdateConstraints]; [view updateConstraintsIfNeeded]; [view setNeedsLayout]; ...
- ZT “樱花小萝莉”走红网络 网友:好想生个女儿
“樱花小萝莉”走红网络 网友:好想生个女儿 投递人 itwriter 发布于 2014-04-02 17:39 评论(3) 有717人阅读 原文链接 [收藏] « » 近日,一组被网友亲切地称呼 ...
- JQuery Checkbox的change事件
JQuery Checkbox的change事件 参考 http://blog.csdn.net/hbhgjiangkun/article/details/8126981 $(functio ...
- jQuery Mobile 过渡效果
jQuery Mobile 包含了允许您选择页面打开方式的 CSS 效果. jQuery Mobile 过渡效果 jQuery Mobile 拥有一系列关于如何从一页过渡到下一页的效果. 注释:如需实 ...
- ABAP 根据操作员分组发送邮件
1,获取操作员姓名 SELECT SINGLE ADRP~NAME_TEXT INTO GS_OUTPUT-UNAMT FROM ADRP INNER JOIN USR21 ON ADRP~PERSN ...
- jQuery阻止默认行为和阻止冒泡
1.阻止默认行为:通常是值一个标签的默认行为,如button的提交表单,a标签的跳转等. 那如何阻止标签的默认行为? 1)return false 2) e.preventDefault(); < ...
- 回忆读windows 核心编程
看<windows 核心编程> 第五版到纤程了,下一章节即将介绍内存体系编程.如果做window平台下的开发,我感觉此书一定要读.记得开始讲解了window的基础,然后讲解内核对象.内核对 ...
- [转载]提高rails new时bundle install运行速度
最近在新建rails项目时,rails new老是卡在bundle install那里,少则五分钟,多则几十分.这是因为rails new时自动会运行bundle install,而bundle in ...