`

mysql 多表连接

 
阅读更多

现有表R,S如下:



笛卡尔积

select * from R,S;

 

结果:


注:不需要任何条件。结果为两张表函数相乘(3x3=9)。

 

 

自连接

 

 

select e.empno,e.ename,m.empno,m.ename from emp e,emp m where m.mgr = e.empno; 

 

连接类型

分为三种:交叉连接、内连接、外连接。

 

交叉连接 cross join

没有where子句的交叉连接将产生连接表的笛卡尔积。

 

select * from R cross join S;

 

结果:和笛卡尔积一样,如上图。

 

select * from R cross join S where R.C = S.C;

 

结果:


内连接

内连接分为三种:自然连接、等值连接、非等值连接。

 

自然连接 natural join:在连接条件中使用等于=运算符比较被连接列的列值,但删除连接表中重复列。

 

select * from R natural join S;

 

结果:



 等值连接  :使用等于=比较连接列的列值,在查询结果中列出接连表中的所有列,包括其中的重复列。

 

select * from R  join S where R.C = S.C;

select * from R inner join S where R.C = S.C;

 


非等值连接 :在连接条件中,可以使用其他比较运算符,比较被连接列的列值,如:<、>、!=等。

 

 

外连接

外连接分为三类:全外连接、左外连接、右外连接。

 

左外连接 left join / left outer join

 

select * from R left join S on R.C = S.C;

 

 

左外连接要遍历左表的所有记录,右表没有的用null表示。

 

右外连接 right join / right outer join

 

select * from R right join S on R.C = S.C;

 

 

右外连接要遍历右表所有的记录,左表没有的用null表示。

 

全外连接 full join / full outer join

 

select * from R full join S on R.C = S.C;

 

 

 

 

 

 

 

  • 大小: 8.1 KB
  • 大小: 5.7 KB
  • 大小: 29.2 KB
  • 大小: 12.5 KB
  • 大小: 10.5 KB
  • 大小: 13.8 KB
分享到:
评论
1 楼 Aceslup 2015-12-23  
非常详细,感谢分享。

相关推荐

    导出 MySQL数据库表结构word设计文档,一键连接数据库,直接导出库表结构、字段解析、自动排序

    导出 MySQL数据库表结构word设计文档,一键连接数据库,直接导出库表结构、字段解析、自动排序 导出 MySQL数据库表结构word设计文档,一键连接数据库,直接导出库表结构、字段解析、自动排序 导出 MySQL数据库表结构...

    MYSQL无法远程连接

    ### MySQL无法远程连接问题解析与解决方案 #### 一、问题背景 MySQL是一种广泛使用的开源关系型数据库管理系统,因其高效稳定而被众多企业和开发者所青睐。然而,在实际部署和使用过程中,有时会遇到无法进行远程...

    c# mysql数据库连接池实现

    在.NET Core中,对于MySQL数据库,我们可以使用`MySql.Data`或`Pomelo.EntityFrameworkCore.MySql`库来实现连接池。 1. 安装依赖库 使用NuGet包管理器安装`Pomelo.EntityFrameworkCore.MySql`或者`MySql.Data`。`...

    MySQL 多表关联一对多查询实现取最新一条数据的方法示例

    本文实例讲述了MySQL 多表关联一对多查询实现取最新一条数据的方法。分享给大家供大家参考,具体如下: MySQL 多表关联一对多查询取最新的一条数据 遇到的问题 多表关联一对多查询取最新的一条数据,数据出现重复 ...

    mysql8和mysql5的连接驱动jar包

    在MySQL5.1中,主要改进包括对InnoDB存储引擎的增强,支持分区表,以及性能和稳定性上的提升。使用这个版本的驱动,开发者可以执行SQL查询,插入、更新和删除数据,管理事务,以及处理结果集。 2. **MySQL8.0.19...

    MySQL数据库查询优化

    第12课 表扫描与连接算法与MySQL多表连接优化实践 MySQL的单表扫描算法。MySQL的两表连接算法。MySQL的多表连接算法。 MySQL的多表连接的优化技巧。 预计时间1小时 第13课 查询优化的综合实例(一)------TPCH实践...

    mysql连接驱动包

    MySQL连接驱动包是Java应用程序与MySQL数据库进行交互的关键组件,它允许Java开发者通过JDBC(Java Database Connectivity)接口执行SQL语句,管理数据库事务,以及处理数据库结果集。本压缩包包含了两个不同版本的...

    0.8 MySQL表高级连接

    MySQL 高级表连接是指在 MySQL 中连接两个或多个表的数据,以便从多个表中检索数据。高级表连接包括内连接、外连接、带聚合函数连接和表连接+子查询等。 1. 内连接 内连接(Inner Join)是指从两个表中选择相互...

    Informatica连接Mysql数据库案例

    2. 在“新建映射”对话框中,选择 Mysql 数据库的表名作为源表,选择 Oracle 数据库的表名作为目标表。 3. 点击“应用”,以便保存映射关系。 Informatica 连接 Mysql 数据库的优点 Informatica 连接 Mysql 数据库...

    mysql允许远程连接

    MySQL 远程连接设置 MySQL 是一个广泛使用的关系数据库管理系统,它提供了强大的数据存储和管理功能。但是,默认情况下,MySQL 帐号不允许从远程登录,只能在 localhost 登录。然而,在某些情况下,我们需要从远程...

    0.6 MySQL表基础连接

    MySQL 表基础连接 MySQL 表基础连接是关系数据库设计的基础,学会使用连接(join)是学习 SQL 的一个极为重要的组成部分。在能够有效地使用连接前,必须了解关系表以及关系数据库设计的一些基础知识。 关系表 ...

    C# 连接MySql数据库,显示数据表

    在C#编程中,连接MySQL数据库并显示数据表是一个常见的任务,尤其对于初学者来说,了解这个过程至关重要。本文将详细讲解如何使用C#连接MySQL数据库,并将数据映射到界面上显示。 首先,我们需要安装必要的库。在C#...

    MYSQL数据库远程连接

    MYSQL数据库远程连接,例程,需要有亦众的支持库才能编译。

    C#多线程连接mysql,Access

    总之,C#的多线程特性使得同时连接和操作MySQL与Access成为可能。在进行性能比较时,不仅要看连接速度,还要综合考虑并发处理、数据库优化等因素。理解这些知识将有助于你在实际开发中做出最佳决策。

    mysql多表联合查询的教程

    MySQL 多表联合查询教程 在本教程中,我们将学习 MySQL 中的多表联合查询,包括多表插入和多表更新的操作。多表联合查询是指从多个表中检索数据的操作,这种操作在实际应用中非常常见。 什么是多表联合查询 多表...

    mysql连接驱动jar包

    MySQL连接驱动jar包是Java应用程序与MySQL数据库进行交互的关键组件。在Java中,我们使用JDBC(Java Database Connectivity)API来实现数据库操作,而MySQL连接驱动则是JDBC的一部分,它负责建立Java应用程序与MySQL...

    VFP 用于连接MYSQL数据库的ODBC

    使用VFP 9.0想连接MYSQL 数据库,连接串都正确了,安装了ODBC但一直接不上,原来 是ODBC版本的问题。64位电脑安装这个ODBC驱动后,VFP就可以连接到MYSQL了。

    MySQL连接工具 绿色版

    MySQL连接工具是数据库管理员和开发人员用来与MySQL服务器交互的重要应用程序。绿色版通常指的是免安装、便携式的版本,可以直接运行而无需在计算机上进行正式的安装过程,这对于需要在不同设备间移动工作或者不想...

    远程用户连接mysql授权

    ### 远程用户连接MySQL授权详解 #### 一、引言 随着互联网技术的发展与企业规模的扩大,数据库系统的远程访问需求日益增加。...此外,随着技术的发展,MySQL也提供了更多高级特性来支持更复杂的远程访问需求。

Global site tag (gtag.js) - Google Analytics