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子句中不允许的。