首页 > 数据库 >MySql JOIN

MySql JOIN

时间:2024-06-11 11:44:44浏览次数:8  
标签:table2 city customers table1 join name MySql JOIN

MySql JOIN

背景

最近在做一些项目时需要对数据库进行简单的 select ,由于之前一直在做 HTML + JS + CSS 所有对数据库不是很了解,现在从 0 开始学习,每天学习一点,做个理解总结。有理解偏差欢迎留言指正。

简介

JOIN 用于根据两个或多个表之间关系,查询数据

  • inner join 内连接
  • left join 左连接
  • right join 右连接

准备两张表 customers、 orders 内容如下:

  • 表 customers

Alternative Text

  • 表:orders

Alternative Text

inner join 内连接

  • 查询两个表中,满足条件的记录
  • 查询条件是两个表的公共部分

语法

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;
  • column_name(s) 表示需要查询的字段
  • table1 表示第一个表
  • table2 表示第二个表
  • ON table1.column_name=table2.column_name 表示两个表的连接条件

示例

select * from customers
inner join 
orders
on orders.city = customers.city;
  • 查询 customers 表和 orders 表中 city 相同的记录

  • 结果:

Alternative Text

left join 左连接

  • 查询以左表为主按照条件查询连接两张或多张表

语法

select * from 
table1
left join
table2 
on table1.column_name=table2.culumn_name
  • 查询所有 table1 表中数据 按照 table1.column_name=table2.culumn_name 条件连接,table2 表中缺失数据 null 补全

  • 表:customers orders

示例

select * from 
customers
left join orders
on customers.city = orders.city;
  • 结果

Alternative Text

right join 有关联

  • 输出右表所有值,左表输出两个表值相同项,缺失数据补null

语法

select * from 
table1
right join
table2
on table1.column_name = table1.column_name

示例

select * from 
customers
right join
orders o
on customers.city = orders.city
  • 查询 table2 表中所有数据 按照 table1.column_name=table2.culumn_name 条件连接,table1 表中缺失数据 null 补全
  • 结果

Alternative Text

多连接查询

select * from customers
left join orders o on customers.city = o.city
right join suppliers s on customers.city != s.city
where o.city = '深圳';
  • 结果

Alternative Text

标签:table2,city,customers,table1,join,name,MySql,JOIN
From: https://www.cnblogs.com/yidejiyi/p/18241787

相关文章

  • Navicat导入json文件(json文件数据导入到MySQL表中)
    天行健,君子以自强不息;地势坤,君子以厚德载物。每个人都有惰性,但不断学习是好好生活的根本,共勉!文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。文章目录一、介绍二、准备工作1.工具2.建表3.Json文件三、JSON文件数据导入MySQL表1.导入文件入口2.......
  • mysql建立支持中文字符的库
    建立一个支持中文字符的MySQL数据库,可以通过以下步骤实现: 1.创建数据库时指定字符集和排序规则在创建数据库时,指定字符集为utf8mb4,排序规则为utf8mb4_unicode_ci。这样可以确保数据库支持中文字符及其他多语言字符。sqlCREATEDATABASEmy_databaseCHARACTERSETutf8mb......
  • 论述MySQL的同异步复制
    MySQL的复制功能是数据库系统中一个重要的特性,它可以实现数据的冗余备份和分布式读写,提高系统的可靠性和性能。MySQL的复制主要分为异步复制、半同步复制和同步复制,这三种复制方式在机制和使用场景上有显著的不同。异步复制特点主从模式:在异步复制中,主库(Master)将数据的变更......
  • MySQL数据库的基础:逻辑集合数据库与表的基础操作
    本篇会加入个人的所谓鱼式疯言❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言而是理解过并总结出来通俗易懂的大白话,小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.......
  • JoinPoint和ProceedingJoinPoint区别
    在Java中,JoinPoint和ProceedingJoinPoint是Aspect-OrientedProgramming(AOP)的概念,通常与AspectJ框架或SpringAOP一起使用。JoinPoint表示一个连接点,即程序执行中的一个具体点,如方法调用或异常处理。ProceedingJoinPoint是JoinPoint的一个子接口,它表示一个可以继续执行......
  • MySQL8.0默认TCP端口介绍
    1、本文内容选择题TCP/IPMySQL8.0的默认TCP端口showvariables查看总结2、选择题A、3306B、33060C、33062D、330633、TCP/IPTCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。以下是......
  • Ubuntu 24.04 LTS 安装配置 MySQL Community Server 8.4.0 LTS
    1安装 AptRepository​​​​​​​地址MySQL::DownloadMySQLAPTRepositorysudodpkg-imysql-apt-config_0.8.30-1_all.deb #安装mysql8.4ltssudoaptupdatesudoapt-getinstallmysql-server#修改mysqlroot密码策略 2查看版本test@test:~$my......
  • MySQL bin-log日志恢复数据
    目录一、开启二进制日志二、检查二进制日志是否开启三、使用二进制日志备份和恢复使用二进制日志备份恢复前先创建备份:应用二进制日志:扩展用法:四、常见命令和操作五.使用 mysqlbinlog 工具查看二进制日志1.查看二进制日志的内容2.解码二进制日志并将内容保存到......
  • 如何提高MySQL DELETE 速度
    提高MySQL中DELETE操作的速度通常涉及多个方面,包括优化查询、索引、表结构、硬件和配置等。以下是一些建议,以及一些示例代码,用于帮助我们提高DELETE操作的速度。1.提高MySQLDELETE速度的方法1.1优化查询只删除必要的行:确保我们的WHERE子句是高效的,并且只选择需要删除的行。......
  • 如何提高MySQL DELETE 速度
    提高MySQL中DELETE操作的速度通常涉及多个方面,包括优化查询、索引、表结构、硬件和配置等。以下是一些建议,以及一些示例代码,用于帮助我们提高DELETE操作的速度。1.提高MySQLDELETE速度的方法1.1优化查询只删除必要的行:确保我们的WHERE子句是高效的,并且只选择需要删除的......