---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
今天学习了SQL相关知识,虽然之前学过,但我还是把杨老师的视频又过了一遍,在这个过程中又发现了自己一些不足,有的地方时间长了没用,都忘记怎么写了,通过这次的学习又进一步的 加深了解,今天总结的重点主要放在查询上总结如下:
首先SQL语句关键字是大小写不敏感的,如select * from table与SELECT * FROM table是一样的。
查询所有数据:
SELECT * FROM table 其中符号*,它是一个通配符,表示选择所有列,FROM子句表示数据表,此外在写SELECT查询时尽量不要使用*来选择列,虽然比输入想要列名是要省事,但返回的数据也比实际需要的多,此外数据库还要计算*表示多少列以及哪些列,相对来说性能会有所降低。尽量选择要使用的列,不多不少。
查询Name字段:
SELECT Name FROM table
如何给字段添加别名:
SELECT Name AS 姓名 FROM table
显示前N条数据:
SELECT TOP N * FROM table
去掉重复数据显示:
SELECT DISTINCT * FROM table
根据条件查询数据:
SELECT * FROM table WHERE 条件,WHERE子句用来设定返回记录的限制条件。对于空数据,这里要格外处理,使用IS NULL或NOT IS NULL,下面是常用的运算符:
=,>,<,>=,<=,<>,!=,!>,!<,这些运算符的用法与编程语言中的运算符基本相同。
逻辑运算符:AND,OR,NOT
BETWEEN:查询符合条件区间的数据
LIK:可以使用%和_作为通配符。%表示可以和任意长度的字符串匹配。_表示和任意的单个字符匹配,也可以使用[]指定一个字符、字符串或范围。
IN:查询IN左边的表达式与右边的任意值匹配成立的数据,也常用于子查询
对数据进行排序:
ORDER BY子句用来定义返回数据的排序顺序,它可以按照FROM表中的一列或多列来进行排序。SELECT * FROMtable ORDER BY age [DESC|ASC],其外WHERE要放在ORDER BY子句之前。这里的DESC表示降序,ASC表示升序
对数据进行分组:
GROUP BY用于分组统计信息,现在有一个需求要查询出某班级男生和女生的数量,那么就可以使用GROUP BY对性别进行分组,使用统计函数COUNT来进行统计,SELECTsex,COUNT(sex) AS 性别 FROM table GROUP BY sex
聚合函数:
聚合函数经常用于GROUP BY,用于计算分组的数据,但然它的使用不限于分组查询,也可以针对整个结果集。下面是我总结的五个函数:
AGE:该函数用于计算平均值
SUM:用于对所选列的数据进行求和
MIN:计算所选列的最小值
MAX:计算所选列的最大值
COUNT:该函数用于计算查询中返回的行数
HAVING子句:
HAVING子句仅使用于查询语句中的GROUPBY子句中,WHERE子句应用于每一行,而HAVING子句应用于分组的统计值。在WHERE子句中不能出现聚合函数,这里就必需要使用HAVING。比如现在要查年某班级有多少相同年龄大于5位的数据,那么就可以SELECT age,COUNT(age) FROMtable GROUP BY age HAVING COUNT(age)>5
今天先写这些了,明天继续总结。。。
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------