
SQL
文章平均质量分 68
大宇进阶之路
这个作者很懒,什么都没留下…
展开
-
oracle没有主键删除重复记录
测试数据如下所示,有的记录只有一条,有的数据重复两遍,有的数据重复了3遍,现在需要只把重复两遍的数据去重:执行SQL后的结果如下: 当然,实际中会有where的筛选条件,以及去重的不是id单字段,那么可以在上面的SQL中完善,group by 字段a,字段b having count(*)=2...原创 2022-06-28 10:40:46 · 583 阅读 · 0 评论 -
Oracle使用imp exp 导入导出数据
exp student/123456@orcl file=d:\student.dmp tables= stuinfo buffer=4096 log=d:\student.logexp student/123456@orcl file=d:\student.dmp tables= stuinfo buffer=4096 log=d:\student.log query=&原创 2022-06-10 11:36:27 · 1183 阅读 · 0 评论 -
将Oracle当前日期加减一月、一天、一分钟
在Oralce中我发现有add_months函数,加天数N可以用如下方法实现,select sysdate+N from dual在Oralce中我发现有add_months函数,加天数N可以用如下方法实现,select sysdate+N from dual ,sysdate+1 加一天sysdate+1/24 加1小时sysdate+1/(24*60) 加1分钟sysdate+1/(24*60*60) 加1秒钟类推至毫秒0.001秒加法select sysdate,add_mon.转载 2022-04-05 17:28:52 · 7873 阅读 · 0 评论 -
PostgreSql中时间格式转换和时间加减
1.当前系统的完整时间:select now();--等同于select current_timestamp;--结果显示为2022-02-22 09:50:132.时间转特定形式的字符使用to_char函数可以将时间格式转换为字符格式,并可以执行转换的格式select to_char(now(), 'yyyyMMddHH24miss')--结果202202220956103.字符格式转时间select to_timestamp('20220221143723..原创 2022-02-22 10:29:05 · 21435 阅读 · 4 评论 -
Oracle执行优化
Oracle执行优化原创 2021-08-03 10:43:07 · 1625 阅读 · 0 评论 -
Oracle最全入门学习记录
SQL是一种结构化查询语言,上世纪80年代世界上基本有80多种数据库,每一个数据库都有自己的一套操作命令,开发者从A数据库切换到B时,需要重新学习。在70年代末,IBM开发了最早的SQL操作标准,而Oracle数据库是世界上第一个支持SQL语法的数据库。发展到今天,所有的关系型数据库都支持SQL语法了。常用的是DB2、Oracle、SQL server、MySQL。对应的数据量和场景一般是几十亿、上亿、8000万、500万。.........原创 2021-05-19 19:54:04 · 702 阅读 · 1 评论 -
SQL面试&进阶逻辑练习
SQL的逻辑语句有时候也很巧妙,以下的小练习包含常用的几个逻辑。1.编写SQL查询以查找至少连续出现三次的所有数字。select DISTINCT a.score from temp.wjz a ,temp.wjz b ,temp.wjz cwhere a.id=b.id -1 and b.id=c.id -1 and a.score = b.score and b.score =c.score运行结果:2.分数的排名编写SQL查询以对分数进行排名,如果两个分数原创 2021-05-18 15:25:43 · 700 阅读 · 0 评论 -
通过SQL进行累加计算,通过inner join轻松实现;求前n条数据,这n条数据的和,占总产量的50%
业务中有一个需求,通过SQL实现数据累加的效果。原数据如下:SELECT * FROM temp.wjz通过inner join实现计算和之前的数据:SELECT * FROM temp.wjz s1 inner join temp.wjz s2 on s1.id<=s2.idorder by s2.id,s1.id大家可以看到,通过表自连接本身,并且再分组求和一次就可以实现累加效果了:SELECT s2.id,sum(s1.score) sum_sco原创 2021-05-17 19:25:54 · 1977 阅读 · 1 评论 -
SQL中对一张表同时升序和降序的排序要求
有一张表如下:需要对id进行升序,对salary也升序排序SELECT * FROM test.wjztest2order by id,salary 需要对id进行升序,对salary降序排序SELECT * FROM test.wjztest2order by id,salary DESC原创 2020-10-21 09:26:02 · 6807 阅读 · 0 评论 -
Impala的学习积累
1.impala的连接问题:当设置ldap权限后,impala登陆需要用户名/密码的验证impala-shell Not Connected的问题2.取消impala任务:在cm管理界面取消 查看impala具体的节点,比如http://test01:25000/queries,取消查询任务因为发现在CDH中的impala查询页面取消impala的任务是没有效果的,所以登陆impala节点的那台服务器上去直接取消任务。3.Hive和impala的concat函数区别impala使用过原创 2020-08-27 14:41:33 · 860 阅读 · 0 评论 -
Oracle - 数据库的实例、表空间、用户、表之间关系
由于工作需要,在linux系统中安装了Oracle数据库,安装教程详见:XXXXOracle和MySQL以及大数据的kudu、hive不一样,它有数据库实例、表空间的概念,以下是整合的资料。数据库:数据库是数据集合。Oracle是一种数据库管理系统,是一种关系型的数据库管理系统。包含物理数据、数据库管理系统。也即物理数据、内存、操作系统进程的组合体。数据库实例:Oracle数据库实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区,相当于java一个对象的实例化。在启动原创 2020-07-01 14:46:08 · 5031 阅读 · 0 评论 -
SQL的判断语句:case when语句以及与update set的使用
1、update TD_XXXsetdjyzmdm=null,djyzmsj=null,DLCS= case when DLCS is null then 1 else DLCS+1 endwhere djsj='xxx'2、update `TD_XXX`set`datetime` = 1434567890,`status` = case `id` when 12 Then 1 when 13 Then 2 when 14 Then 1 endwhere `id` in (12,转载 2020-06-08 17:11:43 · 1056 阅读 · 0 评论 -
LEFT JOIN关联出现笛卡尔积
消除笛卡尔乘积最根本的原因不是在于连接,而是在于唯一ID,就像学号,一个学生就只有一个学号,学号就是这个学生的唯一标识码。左连接只是以左边的表为基准,左边的ID和右边ID都是唯一,就不会产生笛卡尔现象,如果右边有两个ID对应左边一个ID,就算你是左连接,一样会产生1对多的现象。例子:SELECT * from test.employee ORDER BY idSELECT * from test.tmp2 ORDER BY idSELECT * from test.emp.原创 2020-05-21 13:05:59 · 10108 阅读 · 0 评论 -
SQL UNION 和 UNION ALL 操作符
SQL UNION 操作符UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。SQL UNION 语法SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2注释:默认地,UNION 操作符选取不同的值。如果允许重复原创 2020-05-12 15:59:59 · 146 阅读 · 0 评论 -
select * from a,b是内连接也可以是笛卡尔乘积
select * from a,b where a.id = b.id 是笛卡尔乘积但是加上where条件后就是内连接,inner join。示例:SELECT * FROM test.employeeSELECT * FROM test.employee2SELECT * from test.employee p1,test.employee2 p2...原创 2020-04-30 11:17:49 · 3027 阅读 · 0 评论 -
SQL学习分享2之分组排序函数ROW_NUMBER() OVER()
参考文章:https://blog.youkuaiyun.com/qq_25221835/article/details/82762416语法格式:row_number() over(partition by 分组列 order by排序列 desc)row_number() over()分组排序功能:在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚...转载 2020-04-23 16:16:23 · 807 阅读 · 0 评论 -
SQL学习分享1之时间命令unix_timestamp、FROM_UNIXTIME
本次博客分享的是在ETL过程中,处理hive和SQL中用到的SQL时间命令。时间命令unix_timestampSELECT unix_timestamp(); --将当前时间转换为时间戳date满足yyyy-MM-dd HH:mm:ss形式或者yyyy-MM-dd形式可以直接unix_timestamp(string date) 得到参数对应的时间戳Date...原创 2020-04-23 13:42:32 · 2716 阅读 · 0 评论