mysql笔记8(多表查询)

文章目录

  • 1. union联合查询
    • 可能会用到去重操作
  • 2. inner join 内连接
  • 3. left join 左连接
  • 4. right join 右连接
  • 5. cross join 交叉连接
  • 6. natural join 自然连接
    • natural left join 自然左连接
    • natural right join 自然右连接
    • 自然连接的两张表没有同名字段怎么办?
  • 7. using 当两张表字段名都相同时,指定连接字段
  • 8. 哪个连接实用?
  • 9. 内容出处

1. union联合查询

① 联合查询:用union把两个查询语句结合在一起
② 两个查询语句,字段及其数据类型一不一样无所谓,但是字段个数必须一致

在这里插入图片描述

可能会用到去重操作

如果两张表查询的字段名一样,可能会用到distinct去重操作(但是从下面的结果来看,union联合好像自动去重了)
在这里插入图片描述
在这里插入图片描述

2. inner join 内连接

select 字段名,字段名 from 主表 inner join 从表 inner join 从表 on 主表.公共字段=从表.公共字段=从表.公共字段
作用:联合查询
注意:一定要确认主从关系、建立公共字段。可以不使用外键
举例理解(score里的stuId来自student表里id):
在这里插入图片描述
在这里插入图片描述
(上述score表里没有jerry的成绩(ta缺考了),所以联合查询的结果也没ta)
在这里插入图片描述
(三张表联合查询)

3. left join 左连接

以左表为基准
怎么理解?
在这里插入图片描述
在这里插入图片描述
以左边为基准,就算右边那张表里没有2号学生的信息,查询结果依然显示2号学生

4. right join 右连接

以右表为基准
怎么理解?
在这里插入图片描述
在这里插入图片描述
以右边为基准,就算左边那张表里没有学号为12的学生信息,查询结果依然显示12号学生

5. cross join 交叉连接

select 字段名 from 表名 cross 表名;
默认返回一个笛卡尔积
在这里插入图片描述
加上where 表名.公共字段=表名.公共字段后,返回值类似于内连接
在这里插入图片描述

6. natural join 自然连接

① natural join其实默认是自然内连接,根据同名字段连接两张表。
② 好处:不用写两边公共的字段名,但是必须保证两边公共字段名一致
在这里插入图片描述

natural left join 自然左连接

在这里插入图片描述

natural right join 自然右连接

在这里插入图片描述

自然连接的两张表没有同名字段怎么办?

返回笛卡尔积
在这里插入图片描述

7. using 当两张表字段名都相同时,指定连接字段

情境:t1和t3有两个公共字段 id 和 name,这两张表自然连接会产生什么结果?-- 返回一张空表
在这里插入图片描述
怎么办?
在这里插入图片描述

8. 哪个连接实用?

        出于对代码可读性的考虑,基本不会用到自然连接和using

9. 内容出处

mysql

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

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

相关文章

自定义EPICS在LabVIEW中的测试

继续上一篇:LabVIEW中EPICS客户端/服务端的测试 变量定义 You can use CaLabSoftIOC.vi to create new EPICS variables and start them. CA Lab - LabVIEW (Realtime) EPICS INPUT: PV set Cluster-array of names, data types and field definitions to crea…

VMware Fusion虚拟机Mac版 安装Ubuntu操作系统教程

Mac分享吧 文章目录 下载镜像地址:[www.macfxb.cn](http://www.macfxb.cn)一、Ubuntu安装完成,软件打开效果二、Mac中安装Ubuntu虚拟机1️⃣:下载镜像2️⃣:创建虚拟机3️⃣:虚拟机设置4️⃣:虚拟机安装5️…

3.信号量与互斥量

队列:用来传递数据 如果不想传递数据,只是"通知"呢? 这个时候,我们就可以使用"信号量","信号量"的本质:item_size等于 0 的队列 信号量里面有什么呢? 1.一个计数值 2.一个"队伍",就是一个链表:用来记录等待的对应信号量的任务 …

OpenGL笔记二十一之几何类设计

OpenGL笔记二十一之几何类设计 —— 2024-09-16 下午 bilibili赵新政老师的教程看后笔记 code review! 文章目录 OpenGL笔记二十一之几何类设计1.运行1.1.立方体运行1.2.球体运行 2.几何类搭建1.立方体分析2.球体分析3.图片资源文件4.关键实现4.1.geometry.h4.2.geometry.cpp…

PCL 曲线点云提取

文章目录 一、简介二、实现代码三、实现效果参考文献一、简介 提取曲线点云的方法主要分为两种:参数化与非参数化,其中参数化是指事先直线曲线的形状,反之,非参数化则是不依赖与曲线的参数,通常是一种聚类的行为。这里我们采用非参数方法(TriplClust),将点集划分为一个未…

Redis的配置与优化

目录 一、关系数据库与非关系型数据库 1.1、关系型数据库 1.2、非关系型数据库 1.3、关系型数据库和非关系型数据库区别 数据存储方式不同 扩展方式不同 对事务性的支持不同 1.4、非关系型数据库产生背景 二、Redis简介 2.1、Redis优点 2.2、Redis为什么这么快 三、…

如何编写智能合约——基于长安链的Go语言的合约开发

场景设计:文件存证系统 在数字化时代,文件存证和版本追踪变得越来越重要。设想一个场景:在一个法律事务管理系统中,用户需要提交和管理各种文件的版本记录,以确保每个文件在不同时间点的状态可以被准确追踪。文件可能经…

数据结构之栈(python)

栈(顺序栈与链栈) 1.栈存储结构1.1栈的基本介绍1.2进栈和出栈1.3栈的具体实现1.4栈的应用例一例二例三 2.顺序栈及基本操作(包含入栈和出栈)2.1顺序栈的基础介绍2.2顺序栈元素入栈2.3顺序栈元素出栈2.4顺序栈的表示和实现 3.链栈及…

【腾讯云】AI驱动TDSQL-C Serveress 数据库技术实战营-如何是从0到1体验电商可视化分析小助手得统计功能,一句话就能输出目标统计图

欢迎来到《小5讲堂》 这是《腾讯云》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 背景效果图流程图创建数据库基本信息数据库配置设置密码控制台开启…

Java-数据结构-二叉树-习题(三)  ̄へ ̄

文本目录: ❄️一、习题一(前序遍历非递归): ▶ 思路: ▶ 代码: ❄️二、习题二(中序遍历非递归): ▶ 思路: ▶ 代码: ❄️三、习题三(后序遍历非递归): ▶ 思路: …

一款源码阅读的插件

文章目录 进度汇报功能预览添加高亮标记高亮风格设置笔记颜色设置数据概览高亮数据详情 结尾 进度汇报 之前提到最近有在开发一个源码阅读的IDEA插件,第一版已经开发完上传插件市场了,等官方审批通过就可以尝鲜了。插件名称:Mark source cod…

算法之搜索--最长公共子序列LCS

最长公共子序列&#xff08;longest common sequence&#xff09;:可以不连续 最长公共子串&#xff08;longest common substring&#xff09;&#xff1a;连续 demo for (int i 1;i<lena;i){for (int j 1;j<lenb;j){if(a[i-1]b[j-1]){dp[i][j]dp[i-1][j-1]1;}el…

java企业办公自动化OA

技术架构&#xff1a; sshjbpm 功能描述&#xff1a; 用户管理&#xff0c;岗位管理&#xff0c;部门管理&#xff0c;权限管理&#xff0c;网上交流&#xff0c;贴吧&#xff0c;审批流转。权限管理是树状结构人性化操作&#xff0c;也可以用作论坛。 效果图&#xff1a;

三维手势 第一人称 汽车驾驶 handpose 3D RGB 单目相机手势识别 手势检测 手势3D建模 三维建模

三维手势 第一人称 汽车驾驶 handpose 3D RGB 单目相机手势识别 手势检测 手势3D建模 三维建模 第一人称汽车安全驾驶 &#xff1a;三维手势建模 RGB 单目相机手势识检测 手势3D建模 咨询合作 DataBall 项目&#xff0c;欢迎加以下微信。 助力快速掌握数据集的信息和使用方式…

OpenAI API key not working in my React App

题意&#xff1a;OpenAI API 密钥在我的 React 应用中不起作用 问题背景&#xff1a; I am trying to create a chatbot in my react app, and Im not able to generate an LLM powered response. Ive been studying documentation and checking out tutorials but am unable …

PostgreSQL维护——解决索引膨胀和数据死行

注意&#xff1a; 本文内容于 2024-09-16 00:40:33 创建&#xff0c;可能不会在此平台上进行更新。如果您希望查看最新版本或更多相关内容&#xff0c;请访问原文地址&#xff1a;PostgreSQL维护——解决索引膨胀和数据死行。感谢您的关注与支持&#xff01; 我有一张表&#…

Android相关线程基础

线程基础 进程与线程 进程:可以被看做是程序的实体, 是系统进行资源分配和调度的基本单位. 线程:是操作系统调度的最小单元, 也叫轻量级进程 使用多线程的优点 可以减少程序的响应时间。如果某个操作很耗时, 能够避免陷入长时间的等待, 从而有着更好的交互性. 线程较之进…

《深度学习》深度学习 框架、流程解析、动态展示及推导

目录 一、深度学习 1、什么是深度学习 2、特点 3、神经网络构造 1&#xff09;单层神经元 • 推导 • 示例 2&#xff09;多层神经网络 3&#xff09;小结 4、感知器 神经网络的本质 5、多层感知器 6、动态图像示例 1&#xff09;一个神经元 相当于下列状态&…

Minio环境搭建(单机安装包、docker)(一)

前言&#xff1a; 项目中客户不愿意掏钱买oss&#xff0c;无奈只能给他免费大保健来一套。本篇文章只是记录验证可行性&#xff0c;毕竟minio太少文档了&#xff0c;参考着官网来。后面还会再出一套验证集群部署的文章。 一、资料 MinIO官网&#xff1a; MinIO | S3 Compatib…

CSP-J算法基础 树状结构与二叉树

文章目录 前言树状结构树状结构的基本概念&#xff1a;为什么需要树状结构&#xff1f;优点树状结构的示例 二叉树什么是二叉树&#xff1f;二叉树的类型什么样的树不是二叉树&#xff1f;二叉树的五种形态 完全二叉树相关概念完全二叉树的定义&#xff1a; 相关概念1. **高度&…