黑马程序员_Sql学习总结(一)

---------------------- 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培训、期待与您交流! ----------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值