码迷,mamicode.com
首页 > 数据库 > 详细

sql回顾

时间:2016-01-09 21:38:01      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

sql(structured query language)

1.比较运算符一共有六种,分别为等于(=),小于(<),大于(>),小于或等于(<=),大于或等于(>=)以及不等于(<>),其中小于或等于和大于或等于

2.逻辑运算符一种有三种,与(AND),或(OR),非(NOT)

3.运算符是有优先级的,优先级由大到小排列是比较运算符>于(And)>非(Or)

4.SQL提供了IS NULL来表明未知这个选项:where Gender IS NULL

5.Order By子句分为升序(ASC)和降序(DESC)

6.SQL提供了Distinct关键字来实现防重复:SELECT distinct DepartmentID

7.聚合函数,最大年龄MAX(Age),平均成绩AVG(Result)

8.笛卡尔积在SQL中的实现方式既是交叉连接(Cross Join)。所有连接方式都会先生成临时笛卡尔积表,表示两个表中的每一数据任意组合

9.多表连接分为:内连接(inner join on或join on  外连接分为左连接(left join on或left outer join on)、右连接(right join on或者 right outer join on)、和完整外部连    接 (full join on或者 full outer join on)【内连接和 select * from table1,table2 where  是一样的】

  9.1 内连接:只将两个表中共有的值匹配对应(相当从交叉连接中取出匹配而外连接有些不同)

  9.2左向外连接 :以左表的所有行匹配右表的行。如果右表中没有匹配行,则右表对应的值为空(即null)。    

  9.3右向外连接是左向外连接的反向连接。左表中没有匹配行,则将为左表返回空值。   

  9.4完整外部连接返回左表和右表中的所有行。没有匹配行时,则另一个表对应的值为空。

10.简单聚合函数包括:Avg,Sum,Max,Min.聚合函数除了功能不同以外,参数和用法几乎相同

  10.1 Count(*)和Count(具体列名)区别是如果参数是具体的列碰到“Null”值时不会将其计算在内,

  10.2 在Count()内使用Distinct关键字来让相同的值只有一个被统计在内:SELECT COUNT(DISTINCT ManagerID) AS NumberOfManager

  10.3 Avg()表示计算在选择范围内的汇总数据的平均值.这个过程中“Null”值不会被统计在内

  10.4默认用聚合函数进行数据汇总时,不包含null,但如果我想要包含null值,并在当前查询中将Null值以其他值替代并参与汇总运算时,使用IsNull(column,value)

11.使用Group by对聚合函数汇总的值进行分组

12.对分组完成后的数据集进行再次筛选Having,having子句后面不能跟在select语句中出现的别名,必须将Select语句内的表达式再写一遍;Having子句最强大的地方莫过于其        可以使用聚合函数作为表达式,这是在Where子句中不允许的。

 

sql回顾

标签:

原文地址:http://www.cnblogs.com/straybirds/p/5111812.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!