WHERE条件和ON条件的区别

news2024/11/17 15:28:16

目录

总结:

1.inner join方式关联

2.left join方式关联

实例

1.建表

2.left join 主表的on和where条件

3.left join 关联表的on和where条件


总结:

1.inner join方式关联

  • on条件(无论是对主表字段的限制还是对关联表字段的限制)和 where条件 对结果的影响一致 

2.left join方式关联

  • on条件(无论是对主表字段的限制还是对关联表字段的限制)不管结果是否为真,返回主表的所有记录,作用于生成临时表
  • where条件(无论是对主表字段的限制还是对关联表字段的限制),在join生成临时表后,返回条件为真的记录,过滤条件为不为真的记录

实例

1.建表

CREATE TABLE IF NOT EXISTS tb1
(
    id  STRING COMMENT 'id'
    ,age STRING COMMENT '年龄'
)
COMMENT '学生'
LIFECYCLE 7;

INSERT OVERWRITE TABLE tb1 VALUES
( '1' , '10' ) ,
( '2' , '20' )  ,
( '3' , '30' ) ;

CREATE TABLE IF NOT EXISTS tb2 
(
    age  STRING COMMENT '年龄'
    ,name STRING COMMENT '姓名'
)
COMMENT '课程'
LIFECYCLE 7;

INSERT OVERWRITE TABLE tb2 VALUES
( '10' , 'AAA' ) ,
( '20' , 'BBB') ;

主表:tb1

关联表:tb2
idageagename
11010AAA
22020BBB
330

 

2.left join 主表的on和where条件

--left join 主表的条件在where里
SELECT  * FROM  tb1
LEFT OUTER JOIN tb2 
ON tb1.age=tb2.age
WHERE   tb1.id='2';  


--left join 主表的条件在on里
SELECT  * FROM  tb1
LEFT OUTER JOIN tb2 
ON tb1.age=tb2.age
AND    tb1.id='2';

3.left join 关联表的on和where条件

--left join 关联表的条件在where里
SELECT  * FROM  tb1
LEFT OUTER JOIN tb2 
ON tb1.age=tb2.age
WHERE   tb2.name='AAA';  


--left join 关联表的条件在on里
SELECT  * FROM  tb1
LEFT OUTER JOIN tb2 
ON tb1.age=tb2.age
AND    tb2.name='AAA'; 

 

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

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

相关文章

9种流程优化方法,提升业务效率!

编者按:简化工作流程、不断发现工作流程中的错误并有效整合、提高内部团队成员和客户的满意度,是当今每个企业、每个管理者乃至每个员工的共同责任。流程优化是永无止境的。本文回顾了流程优化的概念,详述了流程优化给业务带来的好处以及 9 种…

期货交易策略与技术分析经验总结

期货交易是一种金融衍生品,它是指在未来某个特定的时间和地点,按照事先约定的价格和数量,买卖某种标的物的合约。期货交易具有高杠杆、高风险、高收益的特点,因此需要有一定的交易策略和操作技巧,才能在市场中取得成功…

Qt中的信号与槽(Signals and Slots)

Qt中的信号与槽(Signals and Slots)是一种用于对象间通信的机制,常用于处理用户界面事件和数据更新等情况。通过信号与槽,可以实现对象之间的解耦和灵活的交互。 信号(Signal)是对象发出的事件或通知&…

肥肠恐布--探索Kali Linux中的Metasploit Framework(MSF听说肾透大佬经常用)

请注意,在使用Metasploit Framework进行渗透测试和漏洞利用时,务必遵守合法和授权的原则,此文仅供大家学习参考,请确保您获得了适当的授权,并遵守法律和合规性要求。非法使用和滥用导致严重的法律后果自负。 目录 前言…

mac使用conda(anaconda和miniconda一样)安装新版本的torch

使用pytorch给的命令行下载会很慢,因此我们应该修改镜像源,然后再下载torch 1.添加镜像 在终端输入以下命令,添加镜像: conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ conda conf…

【HMS Core】Health Kit 睡眠各统计类型怎么定义的?有什么区别?

【问题描述】 1、睡眠各统计类型怎么定义的?有什么区别? 2、睡眠状态有5种,各个状态的详细定义是什么? 【解决方案】 1、①科学睡眠,会对睡眠数据进行分析,计算得分等,在连接穿戴设备的前提下…

【AGC】性能管理服务报502问题

【关键字】 AGC、性能管理、502 【问题描述】 有开发者反馈在使用AGC性能管理服务报502错误,接入了analytic sdk 是正常的上报分析数据,但尝试接入apms时出现无法上报情况。 日志截图如下,可以看到分析服务是正常的200上报了数据&#xff…

【Python爬虫与数据分析】Jupyter的安装与快捷键

目录 一、jupyter notebook安装与配置 二、命令模式快捷键 三、编辑模式快捷键 四、文件操作 一、jupyter notebook安装与配置 安装:Jupyter Notebook是以网页的形式打开的一个程序,集成在Anaconda包里面,也可以直接安装python3解释器&a…

jenkins手把手教你从入门到放弃02-jenkins在Windows系统安装与配置(详解)

简介 上一篇对jenkins有了大致了解之后,那么我们就开始来安装一下jenkins。 Jenkins安装 一、安装Java环境   1、你需要做的第一件事情就是在你的机器上安装Java环境。Jenkins是一个基于Java的Web应用程序,所以你至少需要安装JRE。如果没有安装自行百…

Stable Diffusion - Prompts 提示词工程框架

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/131544508 当前 Stable Diffusion 模型使用基础的 stable-diffusion-v1-5,即 v1-5-pruned-emaonly.safetensors。 Stable Diffusion …

全网首发,Python解决某象滑动还原验证码100%还原

与一般的滑动验证码不同,某象的滑动还原验证码是将图像上下两块分割,然后在随机一块往右移动,将两块拼图移动成完整的图像才算成功,事实上,解决这类验证码比普通的验证码还要简单 数据集: 我随机采集了某象任意张数据集,将其标注好,top和down代表的是原图中上面还是下面…

怎么把pytorch从CPU版本替换成GPU版本

使用pip命令pip uninstall torch就可以卸载当前的torch版本。(不是cpu版本一般也没有必要重装吧?) 接着找到官网https://pytorch.org/get-started/locally/ 在里面选择 根据你自己的需要选择最新的(我现在是11.8)或者没…

React渲染机制及相关优化方案

React渲染机制及相关优化方案 前言:一、react渲染步骤二、concurrent机制以及产生作用的机会1. 优先级调度:2. 递增式渲染: 三、简单模拟实现 concurrent mode 的递增式渲染四、与优先级调度有关的两个hooks1. useTransition2. useDeferredVa…

KBP210-ASEMI大功率LED驱动器桥堆KBP210

编辑:ll KBP210-ASEMI大功率LED驱动器桥堆KBP210 型号:KBP210 品牌:ASEMI 封装:KBP-4 恢复时间:≥200n0s 正向电流:2A 反向耐压:1000V 芯片个数:4 引脚数量:4 …

RocketMQ5.0消息消费<一> _ PUSH模式的消息拉取

RocketMQ5.0消息消费<一> _ PUSH模式的消息拉取 一、消息消费概述 消息消费以组的模式开展,一个消费组内有多个消费者,每一个消费者可订阅多个主题,消费组之间有两种消费模式:集群模式(默认&a…

文字识别(OCR)介绍与开源方案对比

目录 文字识别(OCR)介绍与开源方案对比 一、OCR是什么 二、OCR基本原理说明 三、OCR基本实现流程 四、OCR开源项目调研 1、tesseract 2、PaddleOC 3、EasyOCR 4、chineseocr 5、chineseocr_lite 6、cnocr 7、商业付费OCR 1)腾讯…

vue+Element 设置头部固定,并解决遮罩层显示问题

通过整体框架代码可以看到,其实element-ui已经实现了头部固定 找到这个fixedHeader,发现直接在全局设置文件里 这里如果设置为false,就表示头部不固定;改为true,则表示头部固定。 上述更改完后,就可以实…

关于索引应用的一些问题

索引是啥:加快检索速度的数据结构 索引的优点和缺点 索引的优点: 1.建立索引后,数据库检索数据速度直线上升(使用正确的话),数据量越大越明显 2.分组和排序的时候,可以利用索引加快速度 3.通过建立唯一索引可以确保数据唯一,不需要加其他限制条件(既建立了索引 又保证了唯…

火山引擎 DataLeap 套件下构建数据目录(Data Catalog)系统的实践

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 摘要 Data Catalog 产品,通过汇总技术和业务元数据,解决大数据生产者组织梳理数据、数据消费者找数和理解数的业务场景,并服务于…

【综述003】面向未来的语义通信:基本原理与实现方法

摘要 0.引言 张平:提出“智简(Intellicise)”理念,提出模型驱动的语义通信框架,实现通信系统由传统传输比特演进为传输“模型”。如:语义基(Seb)牛凯:研究了从经典通信…