SQL入门学习总结

选择部分:

应用场景:从数据库中存在的表中,挑选出符合条件的数据。

一般方法:查询满足单一条件的数据,在使用union连接下一个满足其余限定条件的查询语句结果集。

基本思路:将条件分解,进行数据筛选。

Union方法理解:

union:用于合并两个或多个select集,会过滤掉重复的数据,适用于统计数据,行列数量必须相同。

union all:行列数量等于前一个查询的结果集数量。

Union与or区别:or需要重新扫描表中数据,而union不需要重新扫描,效率更高。

其余注意事项:

MySQL 使用三值逻辑 —— TRUE, FALSE 和 UNKNOWN。任何与 NULL 值进行的比较都会与第三种值 UNKNOWN 做比较。这个“任何值”包括 NULL 本身!这就是为什么 MySQL 提供 IS NULL 和 IS NOT NULL 两种操作来对 NULL 特殊判断。

在sql中,判断字段值是否相同使用“=”,不使用“==”;

<>和!=是一致的。

排序&修改部分:

应用场景:将数据库中的表按照某一个字段的值进行排序,或者将数据库中的某一个表中满足条件的数据删除或修改后排序。

一般方法:若只需要排序,使用order by 函数即可;若需要删除数据,使用delete语句即可,若有条件限制使用where 语句即可;若需要修改表中的数据,使用set语句即可,若有不具有关联性的条件,可使用set修改满足条件的字段值。

基本思路:若删除满足条件的数据,可以使用查询语句将满足条件的数据找出,在与原表进行比较,删除原表中的数据即可;若需要在一个字段满足不同条件修改不同值,可使用case when函数方法。

Case when方法理解:

作用:条件组合判断语句。

Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。

一般格式:case val when pexl then true else false

其余事项:

数据库中匹配字符使用 like 'val%'表示以什么字符开头;

匹配字符使用like '%val%' 表示含有子字符串val;

匹配字符使用like '%val'表示以什么字符结尾。

字符串处理函数/正则部分:

应用场景:需要对数据库中表中数据类型是字符的数据进行操作。

基本思路:根据相应的条件要求选择合适的字符操作函数作为辅助。

字符串操作常用函数:

数据库中通过concat(str,str,...,str)方法,将字符串拼接在一起;

数据库中通过upper(str)方法将字符串改为大写;

数据库中通过lower(str)方法将字符串改为小写;

数据库中通过length(str)获取字符串的长度;

数据库中通过substring(str,index)方法,表示从index处开始截取字符串片段;

数据库中通过left(str,index)方法,表示从左开始截取字符串到index处的字符;

数据库中通过right(str,index)方法,表示从右到左开始截取字符串到index处的字符。

详细API文档地址:12.3. 字符串函数_MySQL 中文文档

sql语句中也可以使用正则表达式

使用 regexp定义正则表达式,其基本定义如下图所示

组合查询&指定选取

应用场景:用于将重复的数据按条件进行归并。

基本思路:明确重复的字段,使用GROUP BY函数合并数据。

基本方法:

left outer join :左连接,表示返回所有与左边表相匹配的右表信息,若右表中没有与之匹配的信息,则生成的新字段设置成null,right outer join 与子相反。(outer可省去)

union:连接两个或两个以上的select 语句,并将重复的元素删除。

distinct:只保留指定字段的唯一值。

LIMIT:可以有一个或两个参数,有一个参数时,为创建一个数据容量为1的临时表,若有两个参数则前一个参数表明要跳过的数据数,后一个参数表示容量;

 OFFSET:表示要跳过的数据条数,若与limit联合使用,limit只能有一个参数。

GROUP BY:用于将数据中指定字段重复的数据进行合并。

日期操作方法:

datediff用法:

格式:DATEDIFF ( datepart , startdate , enddate );

说明:datepart是你想要比较的日期的一部分。startdate是第一个日期,enddate是结束日期。

比较方式:从enddate中减去startdate。

默认是后一天-前一天日期的天数。

数据操作函数:

COUNT():计数函数,返回符合条件的数据个数。

SUM():求和函数,返回指定字段值的和。

MAX():返回指定字段的最大值。

MIN():返回指定字段的最小值。

COALESCE(value1,value2,...):返回第一个非空的参数,若所有参数为空,返回null。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值