返回顶部
首页 > 资讯 > 数据库 >Mysql多表操作
  • 886
分享到

Mysql多表操作

mysql 2023-09-05 07:09:03 886人浏览 八月长安
摘要

文章目录 1. 概述2. 内连接3. 外连接4. 自连接5. 联合查询-union,union all6. 子查询 1. 概述 在项目开发中,在进行数据库表结构设计是,

文章目录

1. 概述

项目开发中,在进行数据库表结构设计是,会根据业务需求和业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种

  • 一对多(多的一方,外键指向一的主键)
  • 多对多(通过中间表来表示两表之间的关系)
  • 一对一(用于单表拆分,将一张表的基础字段放在一张表中,其它详情字段放在另一张表中,以提高操作效率)

多表查询指从多张表中查询数据(就会出现迪卡尔积现象),在多表查询时需要消除无效的笛卡尔积。多表查询主要的分类如下:

  • 连接查询
    • 内连接:相当于查询A、B交集部分的数据
    • 外连接:
      • 左外连接:查询左表的所有数据,以及两张表交集部分数据
      • 右外连接:查询右表所有数据,以及两张表的交集部分数据
    • 自连接:当前表与自身的连接查询,自连接必须使用表的别名
  • 子查询

2. 内连接

内连接查询的是两张表交集的部分

  • 内连接查询语法
    • 隐式内连接
Select 字段列表 from1,2 Where 条件...;

– 显示内连接

Select 字段列表 From1 [Inner] Join2 On 连接条件....;

3. 外连接

  • 左外连接

查询左表的所有数据,包含表1和表2交集部分的数据

Select 字段列表 From1 Left [outer] Join2 On 条件...;
  • 右外连接

查询右表的所有数据,包含表1和表2交集部分的数据

Select 字段列表 From1 Right [outer] Join2 On 条件...;

4. 自连接

自连接的查询可以是内连接查询,也可以是外连接查询

Select 字段列表 From1 别名A  Join1 别名B On 条件...;

5. 联合查询-uNIOn,union all

对于union查询,就是把多次查询的结果合并起来,形成一个新的查询结果集

Select 字段列表 From 表A ...Union[All]Select 字段列表 From 表B....;

对于联合查询的多张表的列数必须保持一致,字段类型也需要保持一致
union all会将全部数据直接合并在一起,union会对合并之后的数据去重

6. 子查询

sql 语句中嵌套Select语句,称为嵌套查询,又称子查询

Select * from t1 where column1=(select column1 from t2);

子查询外部的语句可以是增删改查的任何语句,内部职能是查询语句

根据子查询结果不同,分为:

  • 标量子查询(子查询结果为单个值)
  • 列子查询(查询结果为一列)
  • 行子查询(子查询结果为一行)
  • 表子查询(子查询结果为多行多列)

根据子查询的位置,分为Where之后、From之后、Select之后

  • 标量子查询

子查询的结果是单个值(数字、字符串、日期等),最简单的形式,这种查询称为标量子查询
常见的操作函数 > < = >= <=

  • 列子查询

子查询结果是一列(可以是多行),这种查询称为列子查询
常见的操作符

操作符描述
IN在指定的集合范围中,多选1
NOT IN不在指定的集合范围之内
ANY子查询返回列表中,有任意一个满足即可
SOME与ANY等同
ALL子查询返回列表的所有值都必须满足
  • 行子查询

子查询返回的结果是一行(可以是多列),这种查询称为行子查询
常见的操作符:= <> IN NOT IN

  • 表子查询

子查询返回的结果是多行多列,这种子查询称为表子查询

来源地址:https://blog.csdn.net/qq_43456605/article/details/132621808

您可能感兴趣的文档:

--结束END--

本文标题: Mysql多表操作

本文链接: https://lsjlt.com/news/394863.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Mysql多表操作
    文章目录 1. 概述2. 内连接3. 外连接4. 自连接5. 联合查询-union,union all6. 子查询 1. 概述 在项目开发中,在进行数据库表结构设计是,...
    99+
    2023-09-05
    mysql
  • 怎么掌握mysql多表操作
    本篇内容主要讲解“怎么掌握mysql多表操作”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么掌握mysql多表操作”吧!多表关系一对一(一般是合并表), 一对...
    99+
    2024-04-02
  • MySQL数据库的多表操作
    目录一、 数据库的多表操作二,操作一对一一对多一、 数据库的多表操作 数据库的多表关系: 一对一一对多多对一多对多 二,操作 一对一 建立数据表person和card,设置perso...
    99+
    2022-11-13
    MySQL数据库 MySQL多表操作
  • Mysql表操作
    数据之表操作 创建表 语法:CREATE TABLE table_name (column_name column_type); create table student( -> id INT NOT NULL AUTO...
    99+
    2020-03-18
    Mysql表操作
  • Mysql多表操作方法讲解教程
    目录外键约束概念特点操作多表联合查询概念操作多表操作总结外键约束 概念 特点 定义一个外键时,需要遵守下列规则: 主表必须已经存在于数据库中,或者是当前正在创建的表。 必须为主表定义主键。 主键不能包含空值,但允许在外...
    99+
    2022-12-03
    Mysql多表操作 Mysql多表查询
  • MySQL表的操作
    MySQL表的操作 创建表查看表结构的详细信息修改表结构增加表结构属性删除表结构表结构的修改 删除表结构 创建表 语法: create table table_name( fiel...
    99+
    2023-09-01
    mysql android 数据库
  • mysql-表的操作
    mysql支持的存储引擎数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎1、InnoDB 存储引擎支持事务,其设计目标主要面向联机事务处理(OLTP)的应用。其特点是行锁设计、支持外键,并支...
    99+
    2023-01-30
    操作 mysql
  • 【数据库_03】MySQL-多表操作与事务
    二、子查询 1. 子查询的位置 ① 什么是子查询 * select 嵌套查询 * 示例 select ename,(select ename from emp ...
    99+
    2018-04-16
    【数据库_03】MySQL-多表操作与事务
  • MySQL DML操作--------多表联合查询实战
    1. 背景   * 多表联合查询是把不同表的记录到一起的一种方式   * 在SQL标准中规划的联合(join)大致分内连接,外连接,全连接。其中外连接又分左外连接,右...
    99+
    2024-04-02
  • MySQL中如何实现多表查询操作
    本篇文章给大家分享的是有关MySQL中如何实现多表查询操作,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。create table&n...
    99+
    2024-04-02
  • MySQL中怎么实现多表删除操作
    本篇文章为大家展示了MySQL中怎么实现多表删除操作,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  1、从MySQL数据表t1中把那些id值在数据表t2里有匹配的...
    99+
    2024-04-02
  • MySQL多表操作的外键约束教程
    目录一.多表关系一对一关系一对多/多对一关系多对多关系二.外键约束特点创建外键约束方式1-在创建表时设置外键约束方式2-在创建表时设置外键约束在外键约束下的操作1.数据插入2.删除数据3.删除外键约束外键约束-多对多关系...
    99+
    2023-01-30
    mysql外键约束 mysql 多表操作
  • mysql中的表操作
    ------------恢复内容开始------------ 创建数据库   create database 数据库名 切换数据库   use 数据库名 建表:   create table 表名 (     字段名1,类型,约束     ...
    99+
    2022-01-04
    mysql中的表操作
  • MySQL中的多表联合查询功能操作
    目录一.介绍数据准备交叉连接查询 内连接查询外连接子查询特点子查询关键字all关键字any关键字和some关键字in关键字exists关键字 自关联查询总结 一.介绍 多表查询就是同时查询两个或两个以...
    99+
    2023-02-01
    mysql多表联合查询 mysql多表查询 mysql联合查询
  • 『 MySQL篇 』:MySQL表的CURD操作
    📢 MySQL 系列专栏持续更新中 … MySQL专栏 ​ 目录 目录一、SQL语句- SQL通用语法- 注释- SQL语句分类 二、 基础表操作- 创建表- 查看库中的表- 查看表结构- 删除表- 重...
    99+
    2023-08-17
    mysql 数据库 sql
  • SpringDataJpa多表操作的实现
    目录Jpa表关系分析步骤 关联关系的注解 @JoinColumn定义外键关联的字段名称 @OneToOne一对一关联关系 @OrderBy关联查询的时候的排序 @JoinTable关...
    99+
    2024-04-02
  • MySQL库和表的操作
    MySQL ...
    99+
    2024-04-02
  • MySQL表的基本操作
    本篇内容主要讲解“MySQL表的基本操作”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL表的基本操作”吧! create table USER...
    99+
    2024-04-02
  • 【MySQL】数据库——表操作
    文章目录 1. 创建表2. 查看表3. 修改表修改表名add ——增加modify——修改drop——删除修改列名称 4. 删除表 1. 创建表 语法: create table ...
    99+
    2023-10-26
    数据库 mysql
  • Navicat for MySQL建立多表链接的操作步骤
    这篇文章将为大家详细讲解有关Navicat for MySQL建立多表链接的操作步骤,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。构建两张表的多对多关系:清洗数据表(cl...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作