基础知识点总结一请叫我超超

1. order by 默认是升序

2. count(*) count(字段)两者的区别就在于count函数不统计null

3. 通配符过滤使用LIKE关键字是一个二元操作符,左表达式为待匹配字段,右表达式为待匹配的通配符表达式表达式由通配符和普通字符组成

(1)单字符匹配:_  单字符匹配在通配符表达式中可以出现多次 如: __b_d

(2)多字符匹配:%  匹配任意次数(零或任意)

(_与%可以配合使用)

(3)集合匹配:[] 方括号中包含一个字符集,匹配与字符集中任意一个字符相匹配的字符

'^':否定符来读集合取反 例: [^bt]%

集合匹配只适用于SqlServer,其他数据库可通过变通实现

总结:   通配符过滤很强大,不过在检索数据是会进行全表扫描,所以速度非常慢,因此不要过分使用通配符过滤,在使用其他方式可以实现效果的时候就应该避免通配符过滤

4.空值检测使用 IS NULL 关键字  语法: "待检测字段 IS NULL" 不为空则使用IS NOT NULL 语法: "待检测字段 IS NOT NULL"

5.反义运算符 != 不等于 !< 不小于 !> 不大于 不过只支持SQLserver和DB2

对应

同义运算符 比如 "不大于"的同义词是"小于等于" 而"不小于"的同义词是"大于等于"同时SQL提供了通用的表示“不等于”的运算符“<>”,这样“不等于”、“不大于”和“不     小于”就分别可以表示成“<>”、“<=”和“>=”

PS:       使用“!”运算符的方式由于只能运行在SQLServer和DB2两种数据库系统上,所以如果应用程序有移植到其他数据库系统上的需求的话,就应该避免使用这种方式;               使用同义运算符的方式能够运行在所有主流数据库系统上,不过由于粗心等原因,很容易将“不大于”表示成“<”,而忘记了“不大于”是包含“小于”和“等于”这两个意思的,这            样就会造成检索数据的错误,造成应用程序的Bug;而采用NOT运算符的方式能比较容易的表达要实现的需求,而且能够实现复杂的嵌套,最重要的是避免了潜在的应用            程序的Bug,所以除了“<>”这种方式之外,所以推荐使用NOT运算符的方式来表示“非”的语义。

7.(1)多值检测使用 in

(2)范围检测使用 between and 用来检测一个值是否处于某个范围中(包括范围的边界值,也就是闭区间)。使用方法如下“字段名BETTWEEN 左范围值AND 右范围值”,

PS:     数据库系统对“BETTWEEN AND”进行了查询优化,使用它进行范围值检测将会得到比其他方式更好的性能,因此在进行范围值检测的时候应该优先使“BETTWEEN               AND”。需要注意的就是“BETTWEEN AND”在进行检测的时候是包括了范围的边界值的(也就是闭区间),如果需要进行开区间或者半开半闭区间的范围值检测的话就必            须使用其他的解决方案了

8.         where 1=1 一般用来动态拼接sql,这样很可能会造成非常大的性能损失,因为使用添加了“1=1”的过滤条件以后数据库系统就无法使用索引等查询优化策略,数据库系统将        被迫对每行数据进行扫描(也就是全表扫描)以比较此行是否满足过滤条件,当表中数据量比较大的时候查询速度会非常慢。因此如果数据检索对性能有比较高的要求就不       要使用这种“简便”的方式。

9. GROUP BY

(1)        数据分组 group by 常常伴随聚合函数一起使用,gorup by子句负责将数据分成逻辑组,聚合还是这对每一个组进行统计计算,需要分组的所有列必须位于group by子句的          列名列表中没有出现在group by子句中的列(聚合函数除外)是不能放到select语句后的列名列表中的group by子句可以指定多个列,用逗号隔开即可,系统会按照分组顺序来逐         层分组,实现组中组的效果

(2)        having语句用于对分组进行过滤, 聚合函数不能在where语句中使用,必须使用having子句来代替

having语句也可以像where语句一样使用复杂的过滤条件,特别注意having语句中不能包含未分组的列名

10.  row_number()函数可以计算每一行数据在结果集中的行号(从1开始计数) 语法: row_number() over(排序规则)

开窗函数只能出现在 select 或 order by 子句中

11.  抑制重复数据: distinct  所有数据库都支持的关键字

distinct是对整个数据集进行数据重复抑制的,而不是针对每一个列

12.  数据处理函数

(1)计算字符串长度的函数   LEN() MSSQL    LENGTH() MYSQL,Oracle,DB2

(2)取得字符串的子串的函数 SUBSTRING(1,2,3) MSSQL MYSQL  SUBSTR(1,2,3) Oracle DB2 第一个参数为要取的主字符串 第二个参数为字串的起始位置 第三参数为字              串的长度

PS:多个函数可以嵌套使用

(3)SIN() 正弦函数 ABS() 绝对值函数

(4)       字符串拼接函数 CONCAT() 支持一个或者多个参数 MSSQL与MYSQL不同 MSSQL可以直接使用"+"来拼接字符串,Oracle使用"||"进行字符串拼接使用方式和MSSQL             中的"+"一样,也支持CONCAT()函数,但是只支持两个参数,不支持两个以上字符串的拼接,进行多个字符串拼接时可以使用函数嵌套

13.  计算字段的用途:不仅能在SELECT中使用计算字段可以在进行数据过滤,删除,更新的时候使用计算字段

14.  联合结果集:UNION可以连接多个结果集,就像"+"可以连接多个数字一样简单,只要在每个结果集之间加入UNION即可

联合结果集的原则:

不必受被联合的多个结果集之间的关系限制,使用UNION有两个基本原则要遵守:

(1)每个结果集必须有相同的列数

(2)每个结果集的列必须类型相容

UNION和UNION ALL的区别:

UNION 会将完全重复的数据合并为一条,如果联合结果集中返回所有数据而不管他们是否唯一,可以使用UNION ALL联合结果集在制作报表的时候经常用到

15.  函数部分

1.日期类型用来表示"年-月-日"信息的数据类型,精确到"日" 一般用Date来表示日期类型

2.时间类型用来表示"小时:分:秒"信息的数据类型,精确到"秒"一般用Time表示时间类型

3.日期时间类型用来表示"年-月-日 小时:分:秒"信息的数据类型,精确到秒,一般用DateTime来表示日期时间类型

PS:    不同的数据库系统对日期、时间、日期时间与时间戳等数据类型的支持差异性非常大,有的数据类型在有的数据库系统中不被支持,而有的数据类型的表示精度则                和其类型名称所暗示的精度不同,比如MSSQLServer 中不支持Time 类型、Oracle 中的Date 类型中包含时间信息。数据库中的日期时间函数对这些类型的支持差别是               非常小的,因此在一般情况下我们将这些类型统一称为“日期时间类型”

DATEADD() 用于进行日期时间的加法运算  DATEADD (datepart , number, date )

datepart取值: year(年份) quarter(季度) month(月份) dayofyear(当年度的第几天) day(日) week(当年度的第几天) weekday(星期几) hour(小时) minute(分)                               second(秒) millisecond(毫秒)

DATEDIFF(datepart,startdate,enddate)  计算日期差额  datepart为计算差额使用的单位

DATENAME(datepart,date) 计算一个日期是星期几 datepart:要返回的日期部分的参数   如果使用Weekday(或者使用别名dw)做为datepart参数调用DATENAME()函数                                                                                           就可以得到一个日期是星期几

DATEPART(DATEPART,date) 返回一个日期的特定部分

PS:      DATEPART()函数和DATENAME()函数完全一样,不过其实它们并不是只是名称不同的别名函数,虽然都是用来提取日期的特定部分的,不过DATEPART()函数的                返回值是数字而DATENAME()函数则会将尽可能的以名称的方式做为返回值

16.  类型转换

MSSQLServer提供了名称为CASE()和CONVERT()两个函数用于进行类型转换

参数格式 :CAST(expression AS data_type)和CONVERT(data_type,expression)

17.  空值处理

COALESCE()函数,这个函数主要用来进行空值处理, 格式: COALESCE ( expression,value1,value2……,valuen)

PS:      COALESCE()函数的第一个参数expression为待检测的表达式,而其后的参数个数不定。COALESCE()函数将会返回包括expression在内的所有参数中的第一个非                空表达式。如果expression不为空值则返回expression;否则判断value1是否是空值,如果value1不为空值则返回value1;否则判断value2是否是空值,如果value2不                 为空值则返回value3;……以此类推,如果所有的表达式都为空值,则返回NULL

COALESCE()函数的简化版: ISNULL()  只接受两个变量  格式: ISNULL(expression,value)

NULLIF()函数  格式: NULLIF ( expression1 , expression2 )

PS:      如果两个表达式不等价,则 NULLIF 返回第一个 expression1的值。如果两个表达式等价,则 NULLIF 返回第一个 expression1类型的空值。也就是返回类型与第                 一 个 expression 相同。

18.  流程控制函数

CASE用法: case when then else end 和switch语句非常类似,在制作报表的时候非常有用

19.  开窗函数

开窗函数在聚合函数后增加了一个OVER关键字  格式:函数名(列)OVER(选项)

THE END
0.数据库知识点总结mysql教程数据库知识点总结 一、相关概念和知识点 1. 数据依赖 :反映一个关系内部属性与属性之间的约束关系,是现实世界属性间相互联系的抽象,属于数据内在的性质和语义的体现。 2. 规范化理论 :是用来设计良好的关系模式的基本理论。它通过分解关系模式来消除其中不合适的数据依赖jvzq<84rjr4dp8r{usr.v~yqtkgmu66389>80qyon
1.SQLServer索引基础知识(1)SQL Server 索引基础知识(1)--- 记录数据的基本格式 作者:郭红俊 由于需要给同事培训数据库的索引知识,就收集整理了这个系列的博客。发表在这里,也是对索引知识的一个总结回顾吧。通过总结,我发现自己以前很多很模糊的概念都清晰了很多。 不论是缓存的数据信息,还是物理保存的信息,他们的基本单位都是数据页。所以理jvzquC41oujo0vnetqyph}3eqo5{j6hp1fj48A5440gtr
2.《数据库技术及应用》教学大纲记忆数据库技术基础理论知识,记忆数据库和表的基本操作,记忆SQL语言基本功能语句编写,记忆结构化程序设计基本理论和编程知识,记忆面向对象的可视化程序设计知识,了解应用程序开发的基本步骤和注意事项。 (二)能力目标 培养学生数据库技术基础理论及操作的能力,能够进行基本数据库操作,具备基本的程序设计能力,能够设计基本的jvzquC41ii}t{pqz{0h{ol3gfw4dp8723:523:;1e3=49j:29:<0rjlg0jzn
3.数据库基础SQL 的知识点总结 一、数据库的基本内容 数据库:存储在计算机内大量数据的集合 数据库系统:指计算机引入数据之后的系统 数据库管理系统:用于管理用户和系统之间的数据 字段:数据库形成的数据表的列的称呼 1.数据库的分类:关系数据库和非关系数据库 关系型数据库:使用行列表格的模式,代表:SQL、SQL Server、jvzquC41dnuh0lxfp0tfv8r2a7>45@6451gsvrhng1jfvjnnu1739<:4;:>
4.SQL基础与进阶学习指南SQL基础与进阶学习指南 本文还有配套的精品资源,点击获取 简介:SQL是管理和操作关系数据库的标准语言,涵盖数据类型、表的创建与操作、查询语言、连接操作、子查询、视图、索引、存储过程、函数、事务管理和安全性等多个核心概念。本学习资料旨在帮助初学者和进阶者通过理论与实践相结合的方式深入理解SQL的各个方面,提供jvzquC41dnuh0lxfp0tfv8|gkzooa<:45:>278ftvkimg8igvcomu866;:?52?5
5.SQLserver数据库基础sqlserver数据库基础知识本文全面介绍数据库相关知识,涵盖概念、分类,阐述结构化查询语言特点与功能,讲解数据库设计规范、表间关系。还介绍常用公共字段、数据类型,详细说明表操作、增删改查,以及常用函数和对象,如存储过程和索引等。 SQLserver数据库基础知识 1.数据库的概念 2.数据库的分类 3.结构化查询 4.数据库设计的几个规范 5.数据库中表和jvzquC41dnuh0lxfp0tfv8ykcpsfi:7261gsvrhng1jfvjnnu1746B7275<
6.SQL基础知识点sql字段是什么SQL(Structured Query Language)是一种用于管理和操作关系数据库的标准语言。以下是 SQL 的核心知识点: 1. SQL 基本概念 数据库:用于存储和管理数据的集合。 表(Table):数据库中的数据结构,由行和列组成。 记录(Row):表中的一行数据。 字段(Column):表中的一列数据。 主键(Primary Key):唯一标识表中每条jvzquC41dnuh0lxfp0tfv87523e92<;:64?0c{ykenk0fnyckny03=699;<28
7.史上最全SQL基础知识语法sql语法本文全面介绍了SQL语言的基础知识,包括SQL的基本语法、数据库操作、数据表管理及数据操作等内容。适合初学者快速入门。 文章目录 一、 SQL基本介绍 二、SQL基础 1、SQL基本语法 2、SQL库操作 1) 创建数据库 2) 显示数据库 3) 使用数据库 4) 修改数据库 jvzquC41dnuh0lxfp0tfv8|gkzooa=:876;948ftvkimg8igvcomu863;381;B6