sql基础
lele_44839345
这个作者很懒,什么都没留下…
展开
-
字符串转json\json解析
1,字符串转jsonselect jsonb_agg(distinct jsonb_build_object('xm',xm,'age',age))结果[{'xm':"张三",'age':15},{'xm':"李四",'age':16}]原创 2022-03-24 11:01:01 · 397 阅读 · 0 评论 -
sql本周定义
SELECT( DATE ( now() ) - ( EXTRACT ( dow FROM DATE ( now() ) ) - 1 || ' day' ) :: INTERVAL ) :: DATE startasy,( DATE ( now() ) - ( EXTRACT ( dow FROM DATE ( now() ) ) - 1 || ' day' ) :: INTERVAL ) :: DATE + 6 endday原创 2022-02-17 10:40:40 · 412 阅读 · 0 评论 -
DQL、DML、DDL、DCL的概念与区别
SQL是一个标准的数据库语言,是面向集合的描述性非过程化语言。它功能强,效率高,简单易学易维护。然而SQL语言由于以上优点,同时也出现了这样一个问题:它是非过程性语言,即大多数语句都是独立执行的,与上下文无关,而绝大部分应用都是一个完整的过程,显然用SQL完全实现这些功能是很困难的。所以大多数数据库公司为了解决此问题,作了如下两方面的工作:(1)扩充SQL,在SQL中引入过程性结构;(2)把SQL嵌入到高级语言中,以便一起完成一个完整的应用。SQL语言共分为四大类:数据查询语言DQL,数据操纵语言D转载 2022-02-11 17:07:24 · 217 阅读 · 0 评论 -
PostgreSQL SELECT INTO和 INSERT INTO SELECT 区别
INSERT INTO FROM语句语句形式为:Insert into Table2(field1,field2,…) select value1,value2,… from Table1要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。SELECT INTO FROM语句语句形式为: SELECT vale1, value2 into Table2 from Table1 要求目标表Table2不存在,因为在插入时原创 2022-02-11 16:44:55 · 987 阅读 · 0 评论 -
Linux环境下hive表数据导出文件到Linux本地
beeline -u jdbc:hive2://10.000.000.000:10000 -n test -p test -d org.apache.hive.jdbc.HiveDriver --outputformat=csv2 -e “select * from test limit 10” >> data.csv原创 2022-02-11 16:05:38 · 1314 阅读 · 0 评论 -
hive函数 get_json_object的使用
1,对于jsonArray(json数组),如person表的xjson字段有数据:[{"name":"王二狗","sex":"男","age":"25"},{"name":"李狗嗨","sex":"男","age":"47"}]取出第一个json对象,那么hive sql为:SELECT get_json_object(xjson,"$.[0]") FROM person;结果是: {"name":"王二狗","sex":"男","age":"25"}取出第一个json的age字段的值:转载 2020-12-18 17:15:06 · 13309 阅读 · 1 评论 -
Oracle之Chr函数返回
Chr函数 返回:返回 String,其中包含有与指定的字符代码相关的字符。Chr(‘39’)是单引号Chr(“0”) 为0的字符Chr(“1”)Chr(“2”)Chr(“3”)Chr(“4”)Chr(“5”)Chr(“6”)Chr(“7”) 响铃Chr(“8”) 回格Chr(“9”) tab(水平制表符)Chr(“10”) 换行Chr(“11”) tab(垂直制表符)Chr(“12”) 换页Chr(“13”) 回车 chr(13)&chr(10) 回车和换行的组合C转载 2020-12-16 15:40:56 · 1678 阅读 · 1 评论 -
Merge into用法总结
hive merge into 批量更新测试一、使用条件hive2.2.0及之后的版本支持使用merge into 语法,使用源表数据批量目标表的数据。使用该功能还需做如下配置1、参数配置set hive.support.concurrency = true;set hive.enforce.bucketing = true;set hive.exec.dynamic.partition.mode = nonstrict;set hive.txn.manager = org.apache.ha转载 2020-08-19 16:02:57 · 5348 阅读 · 0 评论 -
Oracle 到 Hive 的数据类型映射
下表标识 Oracle 数据类型、复制定义数据类型和 Hive 数据类型|Oracle 数据类型 |复制定义数据类型 |Hive 数据类型 |–|--|| | |转载 2020-06-15 16:52:07 · 3888 阅读 · 0 评论 -
HIVE分析函数
传统SQL的问题虽然利用SQL之中提供的各种查询命令可以完成大部分的查询要求,但是还有许多功能是无法实现的,例如:计算运行总量:逐一累加当前行与其之前行的每行记录数据;查找当前行数据占总数据的百分比;分区显示:按照不同的部门或职位进行排列、统计;计算流动数据行的平均值等。分析函数就解决了大部分传统SQL的问题:使用分析函数可以进行更为复杂的查询报表显示。在分析函数中可以使用若干统计函数。着重讲讲分析函数的使用分析函数的基本语法:函数名称([参数 , ....]) OVER (原创 2019-10-11 14:41:04 · 424 阅读 · 0 评论 -
HIVE字符串函数
1. 字符 ascii 码函数:ascii语法: ascii(string str)返回值: int说明:返回字符串 str 中第一个字符的ascii 码举例:hive> select ascii('ba') from test;OK982. base64 字符串语法: base64(binary bin)返回值: string说明:返回二进制 bin 的 bas...转载 2019-10-08 11:10:46 · 785 阅读 · 0 评论 -
sql语句执行计划
1.explain:explainselect * from table;2.explain extended:explain extendedselect * from table;原创 2019-06-05 18:24:59 · 301 阅读 · 0 评论 -
hive解析json(get_json_object)
get_json_object(string json_string, string path)说明:第一个参数填写json对象变量,第二个参数使用$表示json变量标识,然后用 . 或 [] 读取对象或数组;如果输入的json字符串无效,那么返回NULL。每次只能返回一个数据项。举例:data 为 test表中的字段,数据结构如下:data ={ "store": ...转载 2019-09-16 15:12:56 · 1300 阅读 · 0 评论 -
Hive中order by,sort by,distribute by,cluster by的区别
一:order byorder by会对输入做全局排序,因此只有一个Reducer(多个Reducer无法保证全局有序),然而只有一个Reducer,会导致当输入规模较大时,消耗较长的计算时间。关于order by的详细介绍请参考这篇文章:Hive Order by操作。二:sort bysort by不是全局排序,其在数据进入reducer前完成排序,因此,如果用sort by进行排序,并...转载 2019-09-16 18:11:47 · 204 阅读 · 0 评论 -
hive表修改
1.修改表名注释ALTER TABLE 数据库名.表名 SET TBLPROPERTIES('comment' = '新的表备注');2.修改字段名注释ALTER TABLE 数据库名.表名 CHANGE COLUMN 字段名 新的字段名(如果不变就保持原字段) 字段类型(若不变就采用原来的字段) COMMENT '新的字段备注';...转载 2019-09-27 17:13:58 · 183 阅读 · 0 评论 -
hive中条件判断函数IF/COALESCE/CASE
•If函数: if•非空查找函数: COALESCE•条件判断函数:CASEif函数:语法: if(boolean testCondition, T valueTrue, T valueFalseOrNull)返回值: T说明: 当条件testCondition为TRUE时,返回valueTrue;否则返回valueFalseOrNull举例:hive> select if...转载 2019-09-27 17:22:38 · 1495 阅读 · 0 评论 -
HIVE日期函数总结
1、to_date:日期时间转日期函数select to_date('2015-04-02 13:34:12');输出:2015-04-022、from_unixtime:转化unix时间戳到当前时区的时间格式select from_unixtime(1323308943,’yyyyMMdd’);输出:201112083、unix_timestamp:获取当前unix时间戳sel...转载 2019-09-29 10:12:20 · 741 阅读 · 0 评论 -
hive中数学函数总结
1.pmod函数:返回a除b的余数的绝对值 pmod(int a,int b) pmod(double a,double b) select pmod(9,4); 输出结果:1 https://www.cnblogs.com/css038981/p/10025791.htmlhttps://blog.51cto.com/jaydenwang/1845579https://bl...原创 2019-09-29 17:50:18 · 480 阅读 · 0 评论 -
HIVE统计函数
(1)count(*) 作用:统计检索出的行的个数,包括NULL值的行count(t) 作用:返回指定字段的非空值的个数count(distinct t) 作用:返回指定字段的不同的非空值的个数(2)sum(t) 作用:统计结果集中col的相加的结果sum(distinct t) 作用:统计结果中col不同值相加的结果(3)avg(t) 作用:统计结果集中col的平均值avg(dist...原创 2019-09-30 10:49:34 · 3469 阅读 · 0 评论 -
sql数据库多表查询之 where和INNER JOIN
在多表查询中,一些SQL开发人员更喜欢使用WHERE来做join,比如:SELECT a.ID, b.Name, b.Date FROM Customers a, Sales b WHERE a.ID = b.ID;1缺点:在上面语句中,实际上是创建了两张表的笛卡尔积,所有可能的组合都会被创建出来。在笛卡尔连接中,在上面的例子中,如果有1000顾客和1000条销售记录,这个查询会先产生100...转载 2019-03-27 16:11:59 · 8030 阅读 · 1 评论