MySQL—多表查询—内连接

news2024/11/19 7:48:33

一、引言

(1)内连接查询语法

内连接查询的是两张表的交集部分的数据。(也就是绿色部分展示的数据)

(2)内连接有两种形式:

1、隐式内连接

语法结构:

2、显示内连接

语法结构:

注意

显示内连接的语法主要是在 FROM 之后。

表1 [ inner ] join 表2 on 连接条件 ... 

INNER:是可以省略的

两者的区别

第一、在于它们的表的连接的形式。第二,连接条件的表示形式。

接下来去工具 DataGrip 通过两个需求去演示一下 隐式内连接 和 显示内连接。

二、实操

(0)两张表的结构以及数据展示

员工表:emp

部门表

(1)查询每一个员工的姓名,及关联的部门的名称 (隐式内连接实现)
1、分析

表结构:员工表 emp ,部门表 dept

2、连接条件(外键

emp.dept_id = dept.id

3、开始编写
SELECT emp.name,dept.name FROM emp,dept WHERE( emp.dept_id = dept.id );

问题

    我们发现在进行多表查询的时候,如果表名比较长,如果我们要去指定字段名,就要在前面加上这个比较长的表名。这样使用起来比较麻烦。

    所以为了简化表名,我们可以为表去起一个别名

注意

此时,起了别名之后,就不能再直接通过之前的表名名称去限制字段(条件)。因为对于DQL 的执行顺序,先执行的是 FROM 。

(2)查询每一个员工的姓名,及关联的部门的名称 (显式内连接实现) 
1、分析

显示内连接,对应着关键字:表1 INNER JOIN 表2 ON 连接条件 ...;

2、编写SQL语句
/*INNER 可省略*/
SELECT e.name,d.name FROM emp e INNER JOIN dept d ON e.dept_id = d.id;
SELECT e.name,d.name FROM emp e JOIN dept d ON e.dept_id = d.id;

以上就是这篇博客的关于内连接的查询语法:隐式内连接和显示内连接。

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

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

相关文章

AIGC绘画设计——midjourney有哪些好用的关键词?

midjourney有哪些高级关键词? 这一期继续分享一些高级的关键词, 我有一些案例也是从其他博主那学习来的, 但为了尽可能不出错,每个案例都是自己尝试了很多次后才拿出来的。 挑选了几个效果比较好,使用场景较高的类型…

lux和ffmpeg进行下载各大主流自媒体平台视频

1、lux下载,链接:https://pan.baidu.com/s/1WjGbouL3KFTU6LeqZmACpA?pwdagpp 提取码:agpp 2、ffmpeg下载,跟lux放在同一个目录; 3、为lux、ffmpeg设置环境变量; 4、WINR,打开运行&#xff0…

手眼标定学习笔记

目录 标定代码: 手眼标定原理学习 什么是手眼标定 手眼标定的目的 eye in hand eye to hand AXXB问题的求解 标定代码: GitHub - pumpkin-ws/HandEyeCalib 推荐博文: https://zhuanlan.zhihu.com/p/486592374 手眼标定原理学习 参…

nexus搭建npm前端项目的私服

一、为什么要搭建私库 节省外网带宽加速maven构建部署第三方构件(特别是无法从公共仓库下载的构件)提高稳定性(内网部署,更少地依赖外网)降低中央仓库的负荷 构件,好比我们的藏书,去书店或商城…

【数据库】SQL--DDL(初阶)

文章目录 DDL1. 数据库操作1.1. 表操作1.1.1 创建1.1.2. 查询 2. 数据类型及案例2.1 数值类型2.2 字符串类型2.3 日期时间类型2.4 案例练习 3. 表操作--修改3.1 添加字段3.2 修改字段3.3 修改表名 4. 表操作-删除4.1 删除字段4.2 删除表 5. DDL小结 更多数据库MySQL系统内容就在…

如何在强数据一致性要求下设计数据库的高可用架构

在高可用的三大架构设计(基于数据层的高可用、基于业务层的高可用,以及融合的高可用架构设计)中。仅仅解决了业务连续性的问题:也就是当服务器因为各种原因,发生宕机,导致MySQL 数据库不可用之后,快速恢复业务。但对有状态的数据库服务来说,在一些核心业务系统中,比如…

svn的使用

【图文详解】入职必备——SVN使用教程-CSDN博客 使用SVNBucket作为服务端,来辅助学习. 什么时候会产生冲突呢? 原本A,B,服务器的版本都一致,都是最新版. A修改文件m,向服务器提交 B修改文件m,向服务器提交,这时候出现了冲突 双击冲突的文件,手动修改

鬼畜恶搞类型的视频素材哪里找?热门搞笑素材网站分享

在当今数字媒体时代,寻找优质的视频素材变得尤为重要,尤其是对于喜欢鬼畜恶搞风格的创作者来说,选择合适的素材网站可以大大提升视频的吸引力和观看体验。本文将为短视频创作者和自媒体运营者介绍一些顶级的视频素材网站和工具,特…

方案设计|汽车轮胎数显胎压计方案

一、引言 数显轮胎胎压计是一个专门测量车辆轮胎气压的工具,它具有高精度测量的功能,能够帮助快速准确获取轮胎气压正确数值,保证轮胎使用安全。本文将对数显轮胎胎压计的方案技术进行分析,包括其基本原理、硬件构成、软件设计等方…

nvme-cli常见命令分析

一、背景 nvme-cli命令常常用于获取或者设置SSD参数,比如常见的nvme list,nvme id-ctrl等,都是获取SSD的基本信息,也有nvme admin-passthru用于读取或者设置自定义命令。作为使用者,我们并不知道nvme-cli源码怎么实现…

k8s怎么监听自定义资源的变更?(2)

接上一篇当生成下面代码之后怎么去使用呢? 1.生成crd文件 这里我们通过kubebuilder的一个子项目 controller-gen 来生成crd文件 https://github.com/kubernetes-sigs/controller-tools curl -L -o https://github.com/kubernetes-sigs/controller-tools; go ins…

关于远程销售的电子课程开发

一家国际网络安全公司委托我们开发用于培训销售代表远程和电话销售的互动电子内容。我们在 Articulate Storyline 中创建了情节脚本和二维动画,以解释关键概念和销售技巧。互动元素使学习者可以按照自己的节奏进行学习,而我们的动画插图则使材料生动起来…

【嵌入式DIY实例】-OLED显示BME280传感器数据

OLED显示BME280传感器数据 文章目录 OLED显示BME280传感器数据1、硬件准备与接线2、代码实现本文将介绍如何使用 ESP8266 NodeMCU 开发板(ESP12-E 模块)和 BME280 气压、温度和湿度传感器构建本地气象站。 NodeMCU 从 BME280 传感器读取温度、湿度和压力值,并将它们(分别以…

使用apifox进行并发测试

1.普通的接口测试就不说了,非常简单 2.自动化测试

某铁路信息中心运营监测项目

某铁路信息中心承担大量实时监测、例行巡检和排障维护等工作,为巩固信息化建设成果,提高整体运维效果,保障铁路信息系统稳定运行,需对现有网络监测系统进行升级改造。 设备类型:服务器、交换机、数据库、中间件、虚拟…

word2016版本中同时显示多个页面

为了方便查看word内容,我们会将多个页面同时显示。 对于2016版,操作方法如下: 视图 ---》多页

I.MX6ULL UART 串口通信实验

系列文章目录 I.MX6ULL UART 串口通信实验 I.MX6ULL UART 串口通信实验 系列文章目录一、前言二、I.MX6U 串口简介2.1 UART 简介2.2 I.MX6U UART 简介 三、硬件原理分析四、实验程序编写五、编译下载验证5.1编写 Makefile 和链接脚本5.2 编译下载 一、前言 不管是单片机开发还…

CUDA Unity Compute Shader 3

计划 这应该是第3章的读书笔记,但是因为第3章读起来比较困难,所以先看了《CUDA并行程序设计编程指南》的第5章和第6章,感觉读起来顺畅多了,《CUDA并行程序设计编程指南》暂定精读第5、6、7章 1.如何生成ptx文件 属性➔CUDA C/C➔…

类的特殊成员函数

使用类的嵌套&#xff0c;并自定义析构函数 #include <iostream>using namespace std; class Per{ private:string name;int age;double hight;double weight; public:Per(string name,int age,double hight,double weight):name(name),age(age),hight(hight),weight(we…

WPF Binding对象、数据校验、数据转换

在WinForm中&#xff0c;我们要想对控件赋值&#xff0c;需要在后台代码中拿到控件对象进行操作&#xff0c;这种赋值形式&#xff0c;从根本上是无法实现界面与逻辑分离的。 在WPF中&#xff0c;微软引入了Binding对象&#xff0c;通过Binding&#xff0c;我们可以直接将控件与…