MySQL连接查询之内连接左连接右连接自连接

Posted 黑马程序员官方

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL连接查询之内连接左连接右连接自连接相关的知识,希望对你有一定的参考价值。

目录

一、内连接

1. 连接查询的介绍

2. 内连接查询

二、左连接

1. 左连接查询

三、右连接

1. 右连接查询

四、自连接

1. 自连接查询


一、内连接

1. 连接查询的介绍

连接查询可以实现多个表的查询,当查询的字段数据来自不同的表就可以使用连接查询来完成。

连接查询可以分为:

  1. 内连接查询
  2. 左连接查询
  3. 右连接查询
  4. 自连接查询

2. 内连接查询

查询两个表中符合条件的共有记录

内连接查询效果图:

 内连接查询语法格式:

select 字段 from 表1 inner join 表2 on 表1.字段1 = 表2.字段2

说明:

  • inner join 就是内连接查询关键字
  • on 就是连接查询条件

例1:使用内连接查询学生表与班级表:

select * from students as s inner join classes as c on s.cls_id = c.id;

二、左连接

1. 左连接查询

以左表为主根据条件查询右表数据,如果根据条件查询右表数据不存在使用null值填充

左连接查询效果图:

左连接查询语法格式:

select 字段 from 表1 left join 表2 on 表1.字段1 = 表2.字段2

说明:

  • left join 就是左连接查询关键字
  • on 就是连接查询条件
  • 表1 是左表
  • 表2 是右表

例1:使用左连接查询学生表与班级表:

select * from students as s left join classes as c on s.cls_id = c.id;

三、右连接

1. 右连接查询

以右表为主根据条件查询左表数据,如果根据条件查询左表数据不存在使用null值填充

右连接查询效果图:

右连接查询语法格式:

select 字段 from 表1 right join 表2 on 表1.字段1 = 表2.字段2

说明:

  • right join 就是右连接查询关键字
  • on 就是连接查询条件
  • 表1 是左表
  • 表2 是右表

例1:使用右连接查询学生表与班级表:

select * from students as s right join classes as c on s.cls_id = c.id;

四、自连接

1. 自连接查询

左表和右表是同一个表,根据连接查询条件查询两个表中的数据。

区域表效果图

 例1:查询省的名称为“山西省”的所有城市

 创建areas表:

create table areas(
    id varchar(30) not null primary key, 
    title varchar(30), 
    pid varchar(30)
);

执行sql文件给areas表导入数据:

source areas.sql;

说明:

  • source 表示执行的sql文件

自连接查询的用法:

select c.id, c.title, c.pid, p.title from areas as c inner join areas as p on c.pid = p.id where p.title = '山西省';

说明:

  • 自连接查询必须对表起别名

Python零基础笔记汇总:

Python解释器详解

注释作用及分类运算符总结定义变量与数据类型
if判断与循环总结理解面向对象集合操作方法列表的常用操作
Python异常元组应用及操作

Python爬虫笔记篇(含项目实战案例):

代理池概述及开发环境代理池的设计实现代理池思路定义代理IP的数据模型类
实现代理池工具模块实现代理池的校验模块实现代理池的数据库模块实现代理池的爬虫模块
实现代理池的检测模块

实现代理池的API模块

Bilibili模拟登陆(滑动验证码)

Python Web篇笔记(更新中……):

Part 01—Linux基础命令
操作系统与虚拟机软件了解Ubuntu操作系统Linux查看、切换目录命令绝对路径和相对路径
 创建、删除、复制、移动文件及目录命令 ls命令选项mkdir和rm命令选项 cp和mv命令选项
Part 02—Linux高级命令
重定向命令查看文件内容命令、链接命令文本搜索命令查找文件命令
压缩和解压缩命令文件权限命令获取管理员权限的相关命令用户相关操作
用户组相关操作远程登录、远程拷贝命令
静态Web服务器
搭建Python自带静态Web服务器静态Web服务器-返回固定页面数据静态Web服务器-返回指定页面数据静态Web服务器-多任务版
静态Web服务器-面向对象开发静态Web服务器-命令行启动动态绑定端口号
MySQL数据库的基本使用
了解数据库的作用、特点及关系型数据库管理系统MySQL数据库的安装介绍数据类型和约束命令行客户端MySQL的使用
as和distinct关键字SQL语句—where条件查询MySQL之排序查询与分页查询
MySQL数据库的条件查询
mysql中常见的聚合函数Mysql之分组查询

2022年Python+大数据学习路线图,源码笔记,最优学习资源_黑马程序员官方的博客-CSDN博客任何学习过程都需要一个科学合理的学习路线,才能够有条不紊的完成我们的学习目标。Python+大数据所需学习的内容纷繁复杂,难度较大,所以今天特别为大家整理了一个全面的Python+大数据学习路线图,帮大家理清思路,攻破难关!文章目录前言第一阶段 大数据开发入门1.大数据数据开发基础mysql8.0从入门到精通第二阶段 大数据核心基础2022版大数据Hadoop入门教程第三阶段 千亿级数仓技术数据离线数据仓库,企业级在线教育项目实战(Hive数仓项目完整流程)第四阶段 PB内存计算1.pythohttps://blog.csdn.net/itcast_cn/article/details/1223065522022年人工智能学习路线图,清楚明确_黑马程序员官方的博客-CSDN博客_人工智能学习路线图众所周知,人工智能时代已经融入到我们的生活的当中,不论是图像识别还是语音识别的相关产品已经开始落地,就连国家都将人工智能设为了国家战略级发展规划,人工智能开发将会是是未来技术研究的前沿。下面特别给大家整理了人工智能的学习路线,希望大家都能有清楚的学习方向。文章目录第一阶段 人工智能开发入门1. 人工智能之python编程零基础入门2、4天快速入门Python数据挖掘第二阶段 机器学习核心技术第三阶段 NLP自然语言处理技术第四阶段 CV计算机视觉技术1.AI-OpenCV图像处理10小时零基础入门2https://blog.csdn.net/itcast_cn/article/details/122882407

详情大家可以关注Python专栏,努力为大家更新更多好内容 ↑ ↑ ↑  

以上是关于MySQL连接查询之内连接左连接右连接自连接的主要内容,如果未能解决你的问题,请参考以下文章

mysql之内连接,外连接(左连接,右连接),union,union all的区别

EasyClick 之 MySQL 连接查询

EasyClick 之 MySQL 连接查询

mysql左连接和右连接的区别

mysql 左连接,右连接

oracle左连接查询和右连接查询随便举个例子谢谢!