当前位置: 首页 > news >正文

hive面试题--left join的坑

student 表:
在这里插入图片描述
课程表course:
在这里插入图片描述

1、key为null, 不关联

select * from student s left join course c on s.id = c.s_id;

在这里插入图片描述

2、on中过滤条件 与 where 过滤条件区别

on and c.id<>‘1001’ 先过滤右表数据,然后与左表关联

select * from student s left join course c on s.id = c.s_id and c.id<>'1001';

在这里插入图片描述
where c.id<>‘1001’ 先关联,然后过滤结果数据


select * from student s left join course c on s.id = c.s_id where c.id<>'1001';

在这里插入图片描述

模拟数据:

drop table if exists student;
create table student (
 id int,
 name STRING
);

insert into student values (1, 'chb'), (2, 'lis'), (3, 'wzng'), (4, 'sdsd'),(cast(null as int), 'sdok');



create table course(
 id STRING,
 name STRING,
 s_id int
);

insert into course values ('1001', 'c1', 1), ('1001', 'c1', 2), ('1002', 'c2', 3),('1002', 'c2', 3),('1003', 'c3', 5),('1003', 'c3', cast(null as int));

http://www.dtcms.com/a/61476.html

相关文章:

  • k8s集群中部署dcgm-exporter收集GPU指标
  • 机器学习 Day01人工智能概述
  • 串口数据记录仪DIY,体积小,全开源
  • 华为Mate 60 Pro+ 等机型适配支持运营商北斗卫星短信功能
  • 代码随想录算法训练营第六十一天 | 108. 冗余连接 109. 冗余连接II
  • 前端(AJAX)学习笔记(CLASS 4):进阶
  • 图库 | 基于图增强的智慧审计系统革新
  • Pika 技术浅析(三):生成对抗网络
  • C++编程:进阶阶段—4.2对象
  • 【十四】Golang 接口
  • 一学就会的深度学习基础指令及操作步骤(5)使用预训练模型
  • Vue3实战学习(Element-Plus常用组件的使用(输入框、下拉框、单选框多选框、el-image图片))(上)(5)
  • linux centos 安装源码nginx,开放端口
  • 【数据挖掘】知识蒸馏(Knowledge Distillation, KD)
  • 解决 Java/Kotlin 资源加载问题
  • 开源!速度100Kb/s的有线和无线双模ESP32S3芯片的DAP-Link调试器
  • Compose 实践与探索一 —— 关键知识与概念详解
  • autoreconf --install的作用
  • OpenPose初体验
  • 标准卷积(Standard Convolution)
  • 【AI智能体报告】开源AI助手的革命:OpenManus深度使用报告
  • [Pytorch报错问题解决]AttributeError: ‘nn.Sequential‘ object has no attribute ‘append‘
  • CSS 入门指南(一):基本概念 选择器 常用元素属性
  • C#中的【Obsolete】属性Attribute
  • 淘立方电商前端网站(HTML开发)源代码
  • 【 深入解析VGG网络:理论、调优与ResNet对比】
  • ⭐LeetCode(数学分类) 2. 两数相加——暴力与优化⭐
  • CSS-基础选择器,字体属性,文本属性介绍
  • CEH与OSCP:网络安全认证对比分析
  • 可复用的 Vue 轮播图组件