sql进阶,多表及关联

news2024/10/9 10:27:08

–odps sql

–author:宋文理
–create time:2023-02-01 16:24:24

– 创建非分区表
CREATE TABLE csxx_ffq(
rq STRING COMMENT ‘日期’,
xh BIGINT COMMENT ‘序号’,
sj STRING COMMENT ‘数据’
)
COMMENT ‘测试数据(非分区表)’;

– 创建分区表
CREATE TABLE csxx_fq(
xh BIGINT COMMENT ‘序号’,
sj STRING COMMENT ‘数据’
)
COMMENT ‘测试数据(非分区表)’
PARTITIONED by(rq STRING COMMENT ‘日期’);

– 导入文件数据到非分区表620条数据
select * from csxx_ffq ;

– 采取多路输出的方式,将非分区表中的数据插入到分区表中
– 插入数据多路输出方式 非分区表->分区表
from csxx_ffq
insert overwrite table csxx_fq partition(rq=‘20180101’)
select xh,sj where rq=‘20180101’
insert overwrite table csxx_fq partition(rq=‘20180102’)
select xh,sj where rq=‘20180102’
insert overwrite table csxx_fq partition(rq=‘20180103’)
select xh,sj where rq=‘20180103’
insert overwrite table csxx_fq partition(rq=‘20180104’)
select xh,sj where rq=‘20180104’
insert overwrite table csxx_fq partition(rq=‘20180105’)
select xh,sj where rq=‘20180105’
insert overwrite table csxx_fq partition(rq=‘20180106’)
select xh,sj where rq=‘20180106’;

– 列出表的已有分区
show PARTITIONS csxx_fq;
– 查询数据
read csxx_fq;
– select * from csxx_fq; 该句错误,分区表select应该指定分区

– 动态分区方式
– 插入数据动态分区方式
– 从普通表向分区表中插入数据应该使用该方式
insert overwrite table csxx_fq partition(rq)
select xh,sj,rq from csxx_ffq;
– 查询数据
read csxx_fq;

– union all 将多个查询语句返回的结果集合进行合并处理
select a.* from(
select * from xsxx where bjbh=‘0101’
union all
select * from xsxx where bjbh=‘0104’
)a;

– 子查询举例 创建三张表并通过本地文件导入数据
– 创建商品信息表
create table if not exists spxx(
cbbh STRING COMMENT ‘出版编号’,
spmc STRING COMMENT ‘商品名称’,
splb STRING COMMENT ‘商品类别’,
spjg STRING COMMENT ‘商品价格’,
pjdj STRING COMMENT ‘评价等级’
)COMMENT ‘商品信息表’;

– 创建出版社信息表
create table if not exists cbsxx(
cbsbh STRING COMMENT ‘出版社编号’,
cbbh STRING COMMENT ‘出版编号’,
cbsmc STRING COMMENT ‘出版社名称’,
cbsj STRING COMMENT ‘出版时间’,
spmc STRING COMMENT ‘商品名称’
)COMMENT ‘出版社信息表’;

– 创建电商信息表
create table if not exists dsxx(
dsptbh STRING COMMENT ‘电商平台编号’,
dsptmc STRING COMMENT ‘电商平台名称’,
cbsmc STRING COMMENT ‘出版社名称’,
spmc STRING COMMENT ‘商品名称’
)COMMENT ‘电商信息表’;

select * from spxx;
select * from cbsxx;
select * from dsxx;

– join操作
select a.dsptmc,a.cbsmc,s.*
from spxx s
left outer join(
select d.dsptmc,d.dsptbh,c.cbsmc,c.cbbh
from dsxx d
left outer join cbsxx c
on d.cbsmc=c.cbsmc
)a
on s.cbbh=a.cbbh;

– 优化
select a.dsptmc,a.cbsmc,s.*
from spxx s
left outer join(
select d.dsptmc,c.cbsmc,c.cbbh from cbsxx c
right outer join dsxx d on d.cbsmc=c.cbsmc
)a
on s.cbbh=a.cbbh;
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/191085.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ModuleNotFoundError: No module named ‘jnius‘

在termux中安了 ubuntu22.04 ,在其中中使用apt install python3-pip 后运行pip3出错 Traceback (most recent call last):File "/usr/lib/python3/dist-packages/pip/_vendor/platformdirs/android.py", line 85, in _android_folderfrom jnius import au…

call,apply,bind的使用及原理

call,apply,bind的使用方法 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content"…

StarRocks市场渗透率跻身Top10!

近日&#xff0c;国内著名的研究咨询机构艾瑞咨询发布了《2022年中国数据库研究报告》&#xff08;以下简称“报告”&#xff09;。报告指出&#xff0c;目前数据库产品的国内渗透率达到前所未有的高度&#xff0c;且头部效应明显。其中&#xff0c;StarRocks以“极速统一”的性…

java常用类:日期类Date,Calender和LocalDateTime

java常用类型: Ineteger等包装类 String类&#xff0c;StringBuffer类和StringBuilder类 Math类及常用方法 System类及常用方法 Arrays类及常用方法 BigInteger类和BigDecimal类及常用方法 日期类Date类,Calender类和LocalDateTime类 文章目录引言日期类Date(第一代)时间戳转字…

缓存更新策略分析

缓存常用于读多写少的场景&#xff0c;用于缓存结果数据&#xff0c;降低响应时间&#xff0c;提高服务性能。通常缓存与数据库一起使用&#xff0c;数据库负责持久化&#xff0c;缓存负责高性能。数据库无法同时满足持久化与高性能&#xff0c;所以引入缓存解决高性能问题。缓…

SwiftUI 文本框TextField添加清除按钮

这里写自定义目录标题前言/背景实现参考前言/背景 使用SwiftUI框架&#xff0c;希望在文本框TextField控件中输入内容后显示一个清除按钮,可以清空内容,像这样&#xff1a; UIKit 框架的 UITextField可以配置clearButtonMode,但是SwiftUI框架里的TextField没有这个&#xff…

javaScript常用语法

一、数据类型1. 原始数据类型(7个)number, string, boolean, undefined, null, symbol, bigint1.1 number包括以下三种浮点和整型数字(如3.1416926和3)NaN(not a number)不是数字infinity超出js数字范围的数值2. 引用数据类型(3个)object, array, function2.1 特殊类型RegExp, …

MySQL Performance Schema知识点

MySQL Performance Schema知识点 程序插桩&#xff08;instrument&#xff09;。程序插桩在MySQL代码中插入探测代码&#xff0c;以获取我们想了解的信息。 消费者表&#xff08;consumer&#xff09;&#xff0c;指的是存储关于程序插桩代码信息的表。如果我们为查询模块添加…

基于Springboot搭建java项目(二十六)——创建Vue前端项目

创建Vue前端项目 一、创建Vue前端项目 1、安装 Vue CLI 1.1、下载Node.js 因为需要使用 npm 安装 Vue CLI&#xff0c;而 npm 是集成在 Node.js 中的&#xff0c;所以第一步我们需要安装 Node.js&#xff0c;访问官网 https://nodejs.org/en/&#xff0c;首页即可下载。 下…

day26|455.分发饼干、376. 摆动序列、53. 最大子序和。进军贪心

455.分发饼干 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 g[i]&#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸&#xff1b;并且每块饼干 j&#xff0c;都有…

Python | 数据类型之元组和字典

知识目录一、元组(tuple)1.1 元组的创建1.2 访问和修改元组1.3 内置函数二、字典(dict)2.1 字典的创建2.2 访问和修改字典2.3 字典键的特性2.4 函数与方法一、元组(tuple) Python 的元组与列表类似&#xff0c;不同之处在于元组的元素不能修改。 元组使用小括号&#xff0c;列…

kubernetes-dashboard 实现 http 访问以及免 token 登录

文章目录[toc]下载官方 yaml 文件修改 yaml 文件修改 service 端口修改 clusterrolebinding修改 deployment 内容修改探针检测修改镜像拉取策略修改容器端口关闭 token 登录增加 ingress完整版 yaml下载官方 yaml 文件 最后有完整版的 yaml 文件&#xff0c;不想看细节的话&am…

苹果中的这些小技巧,你知道吗

技巧一&#xff1a;iPhone镜像 觉得手机屏幕太小看电影玩游戏不爽怎么办&#xff1f;投屏功能帮我们解决了问题&#xff0c;使用方法也很简单。打开控制中心&#xff0c;点击投屏&#xff0c;选择设备&#xff0c;连接投屏。这里需要注意的是&#xff0c;手机和连接的设备必须在…

【MIKE水动力】MIKE11基本原理(上)

Mike11软件包由水动力、对流&#xff5e;扩散、水质、降雨&#xff5e;径流、洪水预报等模块组成&#xff0c;核心模块为水动力模块。Mike11水动力模块采用6点Abbott&#xff5e;Ionescu有限差分格式对圣维南方程组求解。 一、圣维南方程组 1、基本要素与假设条件 Mike11模型…

开源流程引擎activiti、flowable、camunda选哪个好?

市场上比较有名的开源流程引擎有osworkflow、jbpm、activiti、flowable、camunda。其中&#xff1a;Jbpm4、Activiti、Flowable、camunda四个框架同宗同源&#xff0c;祖先都是Jbpm4&#xff0c;开发者只要用过其中一个框架&#xff0c;基本上就会用其它三个。低代码平台、办公…

IO流概念、FileWriter类及FileReader类详解

目录 IO流概述和分类 ​编辑FileWriter写数据 FileWriter写数据的方法 FileWriter写数据常见问题 FileReader读数据 IO流概述和分类 IO流用来处理设备之间的数据传输–文件复制,上传文件和下载文件 IO流分类–输出流——FileWriter –输入流——FileReader 图式详解&am…

< 每日算法 - Javascript解析: 交通枢纽 >

每日算法 - JavaScript解析&#xff1a;交通枢纽一、任务描述&#xff1a;》 示例一&#xff1a;》示例二二、题意解析拓展知识三、解决方案&#xff1a;往期内容 &#x1f4a8;一、任务描述&#xff1a; 为了缓解「力扣嘉年华」期间的人流压力&#xff0c;组委会在活动期间开…

谷歌优化排名怎么做?Google SEO怎么优化?

本文主要分享关于Google自然排名优化中的一些方法和技巧&#xff0c;让你更快的做好谷歌排名。 本文由光算创作&#xff0c;有可能会被修改和剽窃&#xff0c;我们佛系对待这种行为吧。 谷歌优化排名怎么做&#xff1f;Google SEO怎么优化&#xff1f; 答案是&#xff1a;创…

CMOS器件与TTL器件CMOS电平与TTL电平

常用的数字芯片&#xff0c;按制造工艺主要分为TTL器件和CMOS器件。TTL器件是指其内部主要逻辑单元为双极性晶体管&#xff0c;CMOS器件是指其内部的主要逻辑单元为MOS管。现在绝大部分数字芯片使用的工艺都是CMOS工艺&#xff0c;在一些比较老的74系列芯片中还使用的是TTL工艺…

51单片机最强模块化封装(1)

文章目录前言一、sys文件创建和路径添加1.创建文件夹添加文件夹路径二、sys文件编写1.sys.h2.sys.c三、模块化的测试总结前言 今天将为大家讲解51单片机的模块化封装&#xff0c;为什么要讲这个模块化封装呢&#xff1f;模块化封装将提高我们代码的可移植性和可复用性&#xf…