SQL
文章平均质量分 61
Called_Kingsley
想当摄影师的一个大数据工程师
展开
-
MySQL MAX()函数针对VARCHAR类型的问题
问题描述我们的系统某一处业务逻辑需要查询某个表里面一个字段的最大值。sql不难,就是一两个join。 一直运行没有问题。 但是某一天,突然发现这个地方有点问题,没有查询出来想要的结果。 导致用户无法选择想要的任务。问题排查找过来之后,第一直觉是他的操作有问题,但是仔细确认之后,发现用户的操作并没有问题。数据本身是有的,但是并没有被查询出来。于是就找到这段SQL,拿出来,去数据库查询一下。发现确实没有得到正确的结果。那么很明显问题就是出在这段SQL上。但是发现这部分逻辑在开发环境上无法复现,察觉到不原创 2022-04-22 17:57:07 · 2871 阅读 · 2 评论 -
Mybatis持久层 if标签 对于 Integer类型的正确判断方式
Mybatis持久层 if标签 对于 Integer类型的正确判断方式原创 2021-03-12 15:07:24 · 1344 阅读 · 2 评论 -
sql开窗函数初体验
目录一、定义:1.1 使用group by进行查询1.2 使用开窗函数1.3 使用ORDER BY1.4 rows关键字 指定窗口范围二、多种分析函数的使用2.1 min函数2.2 sum开窗函数2.3 first_value开窗函数2.4 last_vlaue开窗函数2.5 lag函数2.6 lead函数2.7 row_number函数2.8 rank开窗函数2.9 dense_rank开窗函数hive同样可以使用开窗函数 十分方便,但是就是mapreduce是真的慢一、定义:开窗函数用于为行定义一原创 2020-07-26 19:45:33 · 424 阅读 · 0 评论 -
SQL中join句子中使用on和where的区别
目录预备知识提要join子句中 ON和WHERE的区别left joinright joinfull joininner join预备知识提要SQL join 用于把来自两个或多个表的行结合起来。下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。图片来自菜鸟教程left join: 两个表join的时候,即使右边的表没有匹配中条件,左边表都会返回该行。 就是说不管怎么样 左边都会返回所有行,而右表只会返回匹配中的行,其余的都为原创 2020-07-22 16:30:43 · 412 阅读 · 0 评论 -
ACID规则简单理解
目录关系型数据库遵循ACID规则TRANSACTION(事务)RDBMS隔离级别设置三种不考虑隔离出现的问题:1.脏读2.不可重复读3.幻读关系型数据库遵循ACID规则TRANSACTION(事务)事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性:1、A (Atomicity) 原子性原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务...原创 2020-04-27 17:56:07 · 1092 阅读 · 1 评论 -
linux下编写sql脚本,以及命令行运行。
SQL语句可以在windows下navicat中编写,但是如果我们是在linux下命令行模式的话,那我们就只能像编写shell脚本一样去编写sql脚本了,然后运行它,得到我们想要的结果。#USE RUNOOBSHOW TABLES;SELECT * FROM runoob_tb1;DESC runoob_tb1;直接vi一个文件,我这里写的是sqlTest.sql然后输入...原创 2019-03-30 16:10:34 · 5389 阅读 · 3 评论 -
SQL中where子句的一些使用技巧
区分大小写:最主要的就是知道使用“BINARY”,以及使用的位置:where子句中的一些运算符:= 等于<> 不等于, 在sql的一些版本中也可以写作 !=> 大于< ...原创 2019-03-29 10:23:24 · 2458 阅读 · 0 评论