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子句中不允许的。
1.比较运算符一共有六种,分别为等于(=),小于(<),大于(>),小于或等于(<=),大于或等于(>=)以及不等于(<>),其中小于或等于和大于或等于
2.逻辑运算符一种有三种,与(AND),或(OR),非(NOT)
3.运算符是有优先级的,优先级由大到小排列是比较运算符>于(And)>非(Or)
4.SQL提供了ISNULL来表明未知这个选项:
5.OrderBy子句分为升序(ASC)和降序(DESC)
6.SQL提供了Distinct关键字来实现防重复:
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关键字来让相同的值只有一个被统计在内:
10.3Avg()表示计算在选择范围内的汇总数据的平均值.这个过程中“Null”值不会被统计在内
10.4默认用聚合函数进行数据汇总时,不包含null,但如果我想要包含null值,并在当前查询中将Null值以其他值替代并参与汇总运算时,使用IsNull(column,value)
11.使用Groupby对聚合函数汇总的值进行分组
12.对分组完成后的数据集进行再次筛选Having,having子句后面不能跟在select语句中出现的别名,必须将Select语句内的表达式再写一遍;Having子句最强大的地方莫过于其可以使用聚合函数作为表达式,这是在Where子句中不允许的。
相关文章推荐
- grid与oracle用户下oracle程序权限不一致导致ORA-15055/ORA-27123无法连接ASM问题
- xUtils3数据库模块分析之数据篇
- windows 8 安装oracle 12c dbca创建数据库报错创建服务出错
- In MySQL, a zero number equals any string
- MySQL 学习用employee数据库表参考使用
- In MySQL, a zero number equals any string
- mysql 学习笔记
- 重置Oracle配置
- mysql 基本知识--约束以及修改数据表
- SAP R3 Oracle 9i 客户端安装 windows 用户端
- SAP R3 Oracle 9i 客户端安装 windows 用户端
- MYSQL 命令行显示乱码 解决方案
- mysql DQL exercise
- Memcached学习笔记
- SAP R3 Oracle工具 Golden32安装教程
- MYSQL 命令行显示乱码 解决方案
- mysql 找'最'的集合
- mysql常用语句(学习笔记)
- mysql-Innodb事务隔离级别-repeatable read详解(转)
- MySQL高级七——视图的使用