SQL语句
MySql、Oracle、SqlServer
Bugkillers
分享知识,努力进步
展开
-
什么是ClickHouse?如何使用
clickhouse数据库是大型分布式数据存储系统,由于其独特的数据存储方式(基于列式存储)以及数据存储在磁盘中(数据会被压缩),使cluckhouse的数据读取和存储速度很快。原创 2024-05-13 09:46:19 · 253 阅读 · 1 评论 -
浅说java的xml中的foreach用法
三、当mapper中的参数是多个,都需要绑定@Param注解,此时xml中collection的值是绑定注解的参数(无论参数是数组还是集合)如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array。如果传入的是单参数且参数类型是一个List的时候,collection属性值为list。在使用foreach的时候最关键的也是最容易出错的就是collection属性,该属性是必须指定的,但是在不同情况 下,该属性的值是不一样的,item :表示集合中的每一个元素。原创 2023-04-04 11:22:13 · 1767 阅读 · 0 评论 -
UNION与UNION ALL的区别
原始数据:UNION ALL 行转列后:区别:1.对重复结果的处理:UNION会去掉重复记录,UNION ALL不会2.对排序的处理:UNION会排序,UNION ALL只是简单地将两个结果集合并3.效率方面的区别:因为UNION 会做去重和排序处理,因此效率比UNION ALL慢很多...原创 2022-06-08 10:28:52 · 859 阅读 · 0 评论 -
MYSQL行转列与列转行
±-----±-----+| id| name |±-----±-----+|1 | 10||1 | 20||1 | 20||2 | 20||3 | 200 ||3 | 500 |±-----±-----+6 rows in set (0.00 sec)1.以id分组,把name字段的值打印在一行,逗号分隔(默认)±-----±-------------------+| id| group_concat(name) |±-----±-------------------+|1 |原创 2022-06-08 09:55:18 · 546 阅读 · 0 评论 -
统计任意时间段、近一天、近一周、近一月、近一年(12个月)的数据(折线图、柱形图、扇形图)
一、前端会传统计类型type(1,2,3),比如近一周、近一月、近一年(12个月),我们先根据type生成日期集合,这将作为X轴: List<String> xData = selectDate(type,startDate,endDate); private List<String> selectDate(String type,String startDate,String endDate){ if ("1".equals(type)){原创 2022-05-19 14:40:46 · 2204 阅读 · 0 评论 -
MYSQL删除重复数据
delete from prc_app_permission where id not in ( select dt.id from ( select min(id) as id from prc_app_permission group by permission_name ) dt)原创 2022-01-04 14:02:23 · 582 阅读 · 0 评论 -
Excel生成导入SQL语句,快速创建批量
实现方案1.Excel直接导入SQL将Excel数据整理好了之后,通过SQL的导入功能直接导进数据库,但是得保证数据库字段和Excel的字段一致。2.Excel生成SQL语句第二,通过Excel来生成对应的SQL语句,直接将SQL语句复制到分析器里面执行即可,本文就说一下如何来实现这第二种办法。公式例:A2 表示 A列第二行 公式表示为 ,A2,新增=CONCATENATE("insert into users (id,code,name) values (null,'",A2,"','",原创 2021-11-24 08:54:07 · 1071 阅读 · 0 评论 -
ORACLE创建表空间及授权
– 创建表空间CREATE tablespace LA_TREE logging datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\LA_TREE.DBF' SIZE 50m autoextend ON next 50m maxsize 2048m extent management local;– 创建用户CREATE USER "LA_TREE" IDENTIFIED BY "LA_TREE" DEFAULT tablespace LA_TREE;原创 2021-07-30 15:49:46 · 213 阅读 · 0 评论 -
SQLSERVER行转列
sqlserver与mysql、oracle不同,sqlserver行转列需要自定义函数,就很恶心,感觉每次使用sqlserver都需要重新学下sql,哈哈哈…好了,话不多说,上代码!一、自定义创建函数CREATE FUNCTION splitl ( @String VARCHAR ( MAX ), @Delimiter VARCHAR ( MAX )) RETURNS @temptable TABLE (datepart VARCHAR ( MAX )) ASBEGIN原创 2021-07-13 09:20:49 · 433 阅读 · 0 评论 -
group by与having、where的用法
分享一下group by与having、where的用法:查询语句的select 和 group by 子句是聚组函数唯一出现的地方,在where子句中不能使用聚组函数。 select deptno,sum(sal) from emp where sal > 1200 group by deptno having sum(sal) > 10000 order by deptno当在group by 子句中使用having 子句时,查询结果赶回满足having条件的组。在一个sql语句中可以原创 2021-05-28 15:47:16 · 987 阅读 · 0 评论 -
LEFT JOIN、RIGHT JOIN和JOIN的区别,你真的知道吗?
今天来说说关于mySQL那些年的小事。说到mySQL啊,用了挺久的了,但是有个问题一直在困扰着我,就是leftjoin、join、right join和inner join等等各种join的区别。网上搜,最常见的就是一张图解图,如下:真的是一张图道清所有join的区别啊,可惜我还是看不懂,可能人比较懒,然后基本一个left join给我就是够用的了,所以就没怎么去仔细研究了,但是现实还是逼我去搞清楚,索性自己动手,总算理解图中的含义了,下面就听我一一道来。首先,我们先来建两张表,第一张表命名为k.原创 2021-05-28 15:17:24 · 154 阅读 · 0 评论 -
ORACLE中数据的行转列(regexp_substr)与列转行(wm_concat)
本次讲解oracle中如何将多条数据合并成一条数据与将一条数据拆分为多条数据。一、将多条数据合并成一条数据在日常开发中,我们会遇到一些业务功能,在SQL查询时需要将多条数据合并为一条数据,这时,我们就用到了wm_concat(‘字段’)这里我们新建一个表,并添加数据。我们要将NAME字段的多条数据合并为一条数据的SQL:select D,wm_concat(to_char(NAME)) name FROM DQ_CASP.t1 group by D注意:这里用到了分组函数GROUP BY原创 2021-05-22 17:36:37 · 935 阅读 · 2 评论 -
索引的详细介绍
一、介绍1.什么是索引?一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。2.为什么要有索引呢?索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。索引优化应该是对查询性能优化最有效的手段了。索引能够轻易将查询原创 2020-05-12 16:42:14 · 490 阅读 · 1 评论 -
SQL基础语句
文章目录前言一、简单统计所涉及的sql?二、group by与having、where的用法三、start with connect by prior三、case when总结前言提示:本文章包含了所有最基础的sql语句用法,简单、实用、易理解,请认真品尝哦…一、简单统计所涉及的sql?1 ROUND(列,保留位数)四舍五入round(‘10.126’,2) 结果:10.132 SUBSTR(列,start,end)截取字段 start初始为1,end可选可不选3 NVL(e1,e2)原创 2020-11-28 17:08:42 · 291 阅读 · 0 评论 -
SQL插入与替换、插入与更新
在写SQL时,经常灵活运用一些SQL语句编写的技巧,可以大大简化程序逻辑。减少程序与数据库的交互次数,有利于数据库高可用性,同时也能显得你的SQL很牛B,让同事们眼前一亮。原创 2020-09-02 17:55:15 · 2308 阅读 · 0 评论 -
ORACLE、SQLSERVER 、MYSQL的递归查询
SQL SERVER 递归查询正文SQL SERVER 2005之前的版本只能用函数方法实现,SQL SERVER2005之后新增了CTE功能,可以利用CTE实现递归查询;CTE:公用表达式Common Table Expression 是SQL SERVER 2005版本之后引入的一个特性;填充测试数据Create table GroupInfo([Id] int,[GroupName] nvarchar(50),[ParentGroupId] int)Insert GroupInfo原创 2020-12-24 11:33:44 · 269 阅读 · 0 评论 -
MySQL分组查询后获取每组的前N条数据
MySQL分组查询后如何获取每组的前N条数据,你会吗?“分组查询”可以说是相当常见的SQL查询语句,对于MySQL数据库而言,其实现分组查询的关键字为GROUP BY,而在使用GROUP BY期间一般还会有其他的聚合函数配合使用,比如计数用的COUNT(),统计数值和用的SUM(),而本文要介绍的是另一种类型的“分组查询”,即分组查询出来后再查询出每一组的前N条数据。为了方便诸位理解,还是直接举一个实际的案例吧:存在两个数据库表,一个叫课程表course,另一个叫课程类型表course_type,这两个原创 2020-12-24 10:52:27 · 5587 阅读 · 0 评论 -
聚合索引和非聚合索引
以下我面试经常问的2道题…尤其针对觉得自己SQL SERVER 还不错的同志… 呵呵 很难有人答得好…各位在我收集每个人擅长的东西时,大部分都把SQL SERVER 标为Expert,看看是否答的上来…什么是聚合索引(clustered index) / 什么是非聚合索引(nonclustered index)?聚合索引和非聚合索引有什么区别?深入浅出理解索引结构实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚原创 2020-12-29 10:13:08 · 453 阅读 · 0 评论