您的位置:首页 > 数据库

sql概要

2016-01-09 20:25 190 查看
sql(structuredquerylanguage)

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

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

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

4.SQL提供了ISNULL来表明未知这个选项:whereGenderISNULL

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

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

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

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

9.多表连接分为:内连接(innerjoinon或joinon外连接分为左连接(leftjoinon或leftouterjoinon)、右连接(rightjoinon或者rightouterjoinon)、和完整外部连接(fulljoinon或者fullouterjoinon)【内连接和select*fromtable1,table2where是一样的】

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

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

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

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

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

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

10.2在Count()内使用Distinct关键字来让相同的值只有一个被统计在内:SELECTCOUNT(DISTINCTManagerID)ASNumberOfManager

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

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

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

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


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: