MYSQL中Join的用法.240430

news/2025/1/6 17:30:10/文章来源:https://www.cnblogs.com/amadeuslee/p/18652043

assets/MYSQL中Join的用法.240430/file-20250104161311132.png

1、笛卡尔积(没有加筛选条件的内连接)

两表关联,把左表的列和右表的列通过笛卡尔积的形式表达出来。

mysql> select * from t1 join t2;

或者

mysql> select * from t1 inner join t2;

或者

mysql> select * from t1, t2;

2、左连接

两表关联,左表全部保留,右表关联不上用null表示。
assets/MYSQL中Join的用法.240430/file-20250104161356357.png

mysql> select * from t1 left join t2 on t1.id = t2.id;

3、右连接

右表全部保留,左表关联不上的用null表示。
assets/MYSQL中Join的用法.240430/file-20250104161434128.png

mysql> select * from t1 right join t2 on t1.id =t2.id;

4、内连接

两表关联,保留两表中交集的记录。

assets/MYSQL中Join的用法.240430/file-20250104161446372.png

mysql> select * from t1 inner join t2 on t1.id = t2.id;

5、左表独有

两表关联,查询左表独有的数据。
assets/MYSQL中Join的用法.240430/file-20250104161500272.png

mysql> select * from t1 left join t2 on t1.id = t2.id where t2.id is null;

6、右表独有

两表关联,查询右表独有的数据。
assets/MYSQL中Join的用法.240430/file-20250104161512101.png

mysql> select * from t1 right join t2 on t1.id = t2.id where t1.id is  null;

7、全连接

两表关联,查询它们的所有记录。
assets/MYSQL中Join的用法.240430/file-20250104161527231.png

oracle里面有full join,但是在mysql中没有full join。我们可以使用union来达到目的。

mysql> select * from t1 left join t2 on t1.id = t2.id-> union -> select * from t1 right join t2 on t1.id = t2.id;

8、并集去交集

assets/MYSQL中Join的用法.240430/file-20250104161541227.png

两表关联,取并集然后去交集。

mysql> select * from t1 left join t2 on t1.id = t2.id where t2.id is null-> union -> select * from t1 right join t2 on t1.id = t2.id where t1.id is null;

9、自然连接

通过MySql自己的判断完成连接过程,不需要指定连接条件。MySql会使用表内的,相同的字段,作为连接条件。

自然连接分为内外之分。

如果两个表有多个相同字段,或者没有相同字段,则自然连接返回为空。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea左上角project一片绿的解决方法.240712

idea突然project底色一片绿,真的心里慌得一批。。解决方法: 打开File-Settings,按图示找到地方,关闭FileColor,即可。.zstitle { width: 280px; text-align: center; font-size: 26px } .zsimgweixin { width: 280px } .zsimgali { width: 280px; padding: 0px 0px 50px 0…

PCS7 笔记

400H和410H400H系统属于老版本CPU,在售的越来愈少。410H作为400H的替代和更新产品出现。冗余机制同步周期同步 事件同步:在西门子400H/410H cpu中,两个CPU内部的数据,必须保持高度统一,属于西门子冗余PLC的专利,西门子冗余均为事件同步。在西门子400H/410H冗余PLC中,不推…

2024-2025-1 20241411王思棋《计算机基础与程序设计》课程总结

每周作业链接汇总 第一周作业:基于VirtualBox安装Ubuntu,从而安装Linux系统。快速浏览一遍教材计算机科学概论(第七版),课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题第二周作业:数字化、信息安全第三周作业:数字分类与计数法、位置计数法、进制…

Verilog2_硬件描述语言

Verilog内容总结2_硬件描述语言一、硬件描述语言概述 1.主要的硬件描述语言VHDL(VHSIC HDL): 天然支持并发描述,允许在同一个文件中定义多个并发执行的进程;可读性和可维护性较好,适合于大型项目和团队合作;支持用户定义的数据类型;可以使用抽象类型为系统建模 Verilog…

Nginx-CentOS设置网卡配置固定IP地址

一、未设置网卡前 唔怕ping通网络二、ip addr 查看网络配置 ip addr三、修改 ifcfg-ens33 配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33 四、ONBOOT = no 改为 yes (启动操作系统后一并启动网卡)五、重启网卡 systemctl restart network 此时再去ping qq.com的话…

授权MYSQL数据库用户权限.241127

授权 queryusr用户查询test数据库 grant select on test.* to queryusr@%; flush PRIVILEGES收回queryusr用户查询test数据库权限,用revoke REVOKE usage on test.* from queryusr@%; flush PRIVILEGES查queryusr用户目前授权的情况 show grants for queryusr.zstitle { width…

OpenEuler安装MongoDB并配置访问密码.241127

1. 下载MongoDB、安装 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-4.4.18.tgz tar zxvf mongodb-linux-x86_64-rhel80-4.4.18.tgz移动到/home路径下 mv mongodb-linux-x86_64-rhel80-4.4.18 /home cd /home mv mongodb-linux-x86_64-rhel80-4.4.…

集成规范CICD.241127

集成方式说明a.用户向Gitlab提交代码,代码中包含 Dockerfile, JenkinsFile文件。 b.Jenkins监听Gitlab代码库的推送和变更事件 c.Jenkins调用maven插件对源码进行编译打包 d.Jenkins调用docker工具根据Dockerfile文件生成镜像,并推送镜像到Docker Registry仓库(Habor) e.Je…

比较文学的学科特色

学科历史和理论建构部分,小心名词解释一、比较文学的研究对象是什么? 比较文学的研究对象是跨民族、跨语言、跨文化界限和跨学科的各种文学关系。各种文学关系的具体内涵:事实联系中西进:《源氏物语》与白乐天 田中隆昭:《源氏物语》与《长恨歌传》等唐代传奇的表现方法--从…

ENVI魔术棒Magic wand

(1)工具栏中打开ROI Tool,按住Ctrl+鼠标左键,在水域地方点击鼠标。 (2)打开魔术棒Magic Wand工具栏,同时也在图像上选择了一部分区域。 注:按住Ctrl键可以同时识别多个地方。

HomeAssistant安装教程(docker篇)

HomeAssistant安装教程(docker篇)23年流感突然想起当年的一篇文章(下) 部署homeassitant下载docker镜像javascriptdocker pull homeassistant/home-assistantsJavaScript Copy 创建并运行容器javascriptdocker run -d --name="hass" -e "TZ=Asia/Shanghai&q…