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

MySQL之内联接、左联接、右联接、交叉联接

  数据库中的联接(join)是一个非常重要的概念,能够很好地帮助我们解决数据库的相关问题。本文将讲解MySQL中的联接方式:内联接(inner join),左联接(left join),右联接(right join),交叉连接(cross join)。
  我们将以下面两张表格T1与T2为例来具体讲解上述四种联接方式。
    T1         T2
1.内联接(inner join)
  内联接(inner join),也称为等值连接,只返回两个表中联结字段相等的行。
  我们将T1和T2进行内联接,联接字段为id:

SELECT * FROM T1 INNER JOIN T2 ON T1.id=T2.id;

查询结果如下:
内联接1
  当然还可以这样写:

SELECT * FROM T1,T2 WHERE T1.id=T2.id;

2.左联接(left join)
  左联接(left join),以左表的全部为基准,返回左表中所有和右表中联结字段相等的记录以及右表中没有匹配的字段部分返回NULL.

SELECT * FROM T1 LEFT JOIN T2 ON T1.id=T2.id;

查询结果如下:
左联接
3.右联接(right join)
  右联接(right join),以右表的全部为基准,返回右表中所有和左表中联结字段相等的记录以及左表中没有匹配的字段部分返回NULL.

SELECT * FROM T1 RIGHT JOIN T2 ON T1.id=T2.id;

查询结果如下:
右联接
4.交叉联接(cross)
 交叉联接(cross)返回两张表的笛卡尔乘积。

SELECT * FROM T1 CROSS JOIN T2;

查询结果如下:
交叉联接
  当然也可以这样写:

SELECT * FROM T1,T2;

  MySQL并不支持full join,但可以通过left join和right join来实现。



  本次分享到此结束,欢迎大家交流与批评~~

相关文章:

  • Android自定义Toast
  • [C#]获取指定文件夹下的所有文件名(递归)
  • .Net下的签名与混淆
  • PHP $_SERVER详解
  • 人工智能+医疗 未来医生真的会失业吗
  • 企业如何实施物联网解决方案
  • Learning JQuery(一)
  • [转载]项目风险管理七种武器之结语
  • 构建Xamarin.Forms NuGet
  • 基于Android客户端的人人网开放平台开发系列教程 (有源码哦)
  • UGUI精灵图片实现图片裁剪
  • 26、C#里面标签的属性和事件
  • 广义线性模型
  • Python socket服务器端、客户端传送信息
  • Unity3D加密外壳如何做到防止反编译?
  • 【笔记】你不知道的JS读书笔记——Promise
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • CentOS 7 修改主机名
  • CSS相对定位
  • echarts的各种常用效果展示
  • MobX
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • windows-nginx-https-本地配置
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 高性能JavaScript阅读简记(三)
  • 深入浏览器事件循环的本质
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 新手搭建网站的主要流程
  • 06-01 点餐小程序前台界面搭建
  • 《天龙八部3D》Unity技术方案揭秘
  • RDS-Mysql 物理备份恢复到本地数据库上
  • 选择阿里云数据库HBase版十大理由
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​渐进式Web应用PWA的未来
  • ​如何在iOS手机上查看应用日志
  • #LLM入门|Prompt#3.3_存储_Memory
  • #ubuntu# #git# repository git config --global --add safe.directory
  • (26)4.7 字符函数和字符串函数
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (笔试题)合法字符串
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (三)Honghu Cloud云架构一定时调度平台
  • (四)模仿学习-完成后台管理页面查询
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (正则)提取页面里的img标签
  • (转)德国人的记事本
  • (转载)Google Chrome调试JS
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET 事件模型教程(二)
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .NET运行机制