Max Computer,Sql

本文详细介绍了ODPS SQL中的数据操作语言(DDL)和数据操纵语言(DML)语句,包括表的创建、分区管理、数据更新与读取、表的合并与连接以及多表查询等核心概念。通过实例解析了如何进行表的生命周期管理、字段增删及数据筛选,帮助读者深入理解ODPS SQL操作。
摘要由CSDN通过智能技术生成

DDL语句

表的创建
  1. 新建一个自定义的表:create table if not exists A (字段名 字段类型);
  2. 新建一个表,字段与现有表一致,但数据并没有复制:create table if not exists A like B;
添加分区

ALTER TABLE A ADD IF NOT EXISTS PARTITION (分区字段名=’…’);

删除分区

alter table A drop if EXISTS PARTITION(分区字段名=’’);

删除表

drop table if EXISTS 工作空间名称.表名;

清空表

TRUNCATE TABLE 表名;

表的重命名

alter table A rename to B;

表的生命周期

alter table A set lifecycles 30;

增加字段

alter table A add columns(字段名 字段类型);

查看表的信息

desc A

DML语句

表中数据的更新(insert语句)

(1)insert overwrite table A select * from B :表示将表A的数据复制到表B中,前提是字段一致;
PS:ODPS平台的SQL仅支持以上的更新数据库语句;其中关键字overwrite表示覆盖写入,可换成into表示追尾写入;

表中数据的读取(select语句)
  1. select * from A:读取全部字段数据
  2. select uid from A:读取某一字段全部数据
  3. select distinct uid from A :读取某一字段不重复数据
  4. select * from A where uid=’a’:读取某一字段值等于指定值的数据
  5. select * from (select * from A)a:嵌套语句
  6. select sum(uid) from A group by uid:分组查询
  7. select * from A order by uid limit 4:全局排序,必须与limit 配合使用
  8. select row_number() over (partition by item order by score) as row_num from A:对字段item按字段score值进行局部排序并给出序号
表的合并(union all 语句)

select * from (
select * from t1 where uid=‘a’
union all
select * from t2 where uid=‘a’) t;

表的连接(join 语句与left outer join 语句)
  1. left join…on
    select * from A a left join B b on a.id=b.id; 左连接
  2. join
    select * from A a join B b on a.item = b.item; 返回A,B表中字段item值相同的数据
  3. left outer join
    select * from A a left outer join B b on a.item = b.item;
多表查询
SELECT *
FROM 
    A a
        LEFT JOIN (SELECT * FROM  B WHERE 某字段='') b
        ON  a.某字段=b.某字段 
        LEFT JOIN (SELECT * FROM C WHERE 某字段='') c
        ON  a.某字段=c.某字段
        LEFT JOIN (SELECT * FROM D) d
        ON  a.某字段=d.某字段
WHERE a.某字段='';

sql

查询列不重复值

**distinct **
SELECT distinct category FROM dws_datareal_myj_pos_weekly_promo_depth;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值