京东-供应链研发部数仓面试题

京东-供应链研发部-数据库开发岗面试题:
1.oracle分析函数:
语法:function(参数) over(partition/order by/windowing);
Corr() over() –表记录相关系数
Stddev() over()-样本标准差
Stddev_samp() over() –样本标准差
Stddev_pop() over()-总体标准差
Variance() over()-样本方差
Var_samp() over()-样本方差
Var_pop() over()-总体方差
Covar_samp over()-表记录样本协方差
Covar_pop over() –表记录总体协方差
Percentile_disc(0.5) within group(order by salary) over(partition by job) – 各工种的平均工资
Cume_dist() over(partition by job order by salary)—各工作下薪资排名比。
Percent_rank() over(partition by job order by salary)-各工作下薪资排名号/该组行数
Ratio_to_report(salary) over(partition by job )-各工作下该薪资占该工作总薪资的占比
Lag(eage,1) over(partition by esex order by salary)-各esex下按薪资排序去前1行
Lead(eage,1) over(partition by esex order by salary)-各esex下按薪资排序取后1行
Max(salary) keep(dense_rank first order by salary desc)-取薪资排名的第一行
Max(salary) keep(dense_rank last order by salary desc)-取薪资排名的最后一行
First_value(salary) over(partition by job order by salary desc)-取各工作下薪资排名第一的薪资
Last_value(ename) over(partition by job order by salary desc)-取各工作下薪资排名最后的人名
Ntile(3) over(partition by job order by salary desc)-将各工作下的记录平均分成3份,多出的按顺序分给前面的组
Dense_rank() over(partition by job order by age)-各工作下按年龄连续排序
Rank() over(partition by job order by age)-各工作下按年龄跳跃排序
Max(salary) over(parition by job order by age)-各工作下按年龄排序取最大薪资
Min(salary) over(partition by job order by age)-各工作下按年龄排序取最小薪资
Avg(salary) over(partition by job order by age)-各工作下按年龄排序取平均工资
Sum(salary) over(partition by job order by age)-各工作下按年龄排序取总工资
Count(*) over(partition by job order by age) –各工作下按年龄排序取总记录数

2.oracle聚合函数:
Avg()
Round()
Sum()
Count()
Min()
Max()

3.oracle字符串函数:
LOWER() –转小写
UPPER()-转大写
LTRIM()-左删除空格
RTRIM()-右删除空格
CONCAT()-连接
REPLACE()-更新内容
LEN()-长度
4.oracle表关联:
Outer join –外连接
Self join –自连接 表A 关联表A,找出自表里字段的内在关系,例如求科目字段里:语文>数学的人,本表中父子节点的对应输出
Cross join –交叉连接-(A表)n*(B表)m=nm条记录 ,笛卡尔积
Full join –全连接
Right join 右连接
Left join 左连接
Inner join 内连接
Natural join 自然连接 –表A和表B相同字段等值连接
5.oracle行列转换方法:

name 学科 成绩
a     语文  90
b    数学  90
b    英语   100

name  yu     shu    wai
a      90
b             9
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值