iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >怎么在MySQL中实现连接查询
  • 886
分享到

怎么在MySQL中实现连接查询

2023-06-15 08:06:49 886人浏览 安东尼
摘要

本篇文章给大家分享的是有关怎么在MySQL中实现连接查询,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.内连接查询概要    &nbs

本篇文章给大家分享的是有关怎么在MySQL中实现连接查询,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

1.内连接查询概要

       内连接是应用程序中非常常见的连接操作,它一般都是默认的连接类型。内连接基于连接谓词,它将两张表(如A和B)的列组合在一起,产生新的结果表。内连接查询会将A表的每一行和B表的每一行进行比较,并找出满足连接谓词的组合。当连接谓词被满足,A和B中匹配的行会按列组合(并排组合)成结果集中的一行。

       内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。内连接分3种:交叉连接相等连接和自然连接。

2.交叉连接(笛卡尔积)

       交叉连接(Cross Join) ,又称“笛卡尔连接(Cartesian Join) "或“叉乘(Product) ",它是所有类型的内连接的基础。

       如果把表视为行记录的集合,那么交叉连接即返回这两个集合的笛卡尔积,返回到结果集合中的数据行数等于第一张表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。这其实等价于内连接的连接条件为“永真” ,或连接条件不存在。如果A和B是两个集合,它们的交叉连接就记为: A x B.

       定义线路表与车辆表的交叉连接(笛卡尔积) 。

示例:

实现线路表与车辆表笛卡尔积

SELECT COUNT(*)FROM line CROSS JOIN vehicle

3.内连接语法与示例

语法:

SELECT fieldlistFROM table1 [INNER] JOIN table2   ON table1.column1=table2.column2[WHERE condition]

示例1:

使用内连接获取车辆型号含有“DD”字样的车辆信息和司机信息,要求车辆信息为全部列,司机信息中只需包含姓名和身份证

SELECT v.*,d.name,d.licenseNoFROM vehicle v JOIN driver d  ON v.driverID=d.driverIDWHERE model LIKE '%DD%'

示例2:

使用内连接获取年龄大于35岁的司机信息和该司机所驾驶的车辆信息,要求车辆信息为全部列,司机信息中只包含姓名、出生年月和电话

SELECT v.*,d.name,d.licenseNo,d.phoneFROM vehicle v INNER JOIN driver d  ON v.driverID=d.driverIDWHERE CEIL(DATEDIFF(NOW(),birthday)/365)>35

4.自然连接

自然连接(Natural Join)是一种特殊的内连接,它要求相连接的两张表的连接依据列心须是相同的字段(字段온相同,字段属性相同)。在自然连接中两张表的所有名称相同的列都将被比较,并且在结果集中把重复的列去掉,结果集中两张表中名称相同的列仅出现一次。而普通的内连接并不去掉重复的列。(部分数据库不支持自然连接,saL Server等。)

自然连接的语法如下:

SELECT fieldlistFROM table1 NATURAL JOIN table2[WHERE condition]

示例:

使用自然连接获取车辆型号含有“DD”字样的车辆信息和司机信息,要求车辆信息为全部列,司机信息中只需包含姓名和身份证

SELECT v.*,d.name,d.licenseNoFROM vehicle v NATURAL JOIN driver dWHERE model LIKE '%DD%'

5.多表连接查询

如果查询的信息来源于多张表,则可通过两两相连的方式建立多表连接查询。

以下为三表连接查询的语法:

SELECT fieldlist FROM table1 JOIN table2   ON table1.column1=table2.column2_1JOIN table3  ON table2.column2_2=table3.column3[WHERE condition]

说明:

(1)table2与table1和table3两两相连。

(2)三表以上连接查询的方法与三表连接查询的方法一样,均是通过两两相连的方式实现。

示例1:

获取所有非空调车的车牌号、型号和司机姓名、所属线路的线路好、起点站和终点站信息

SELECT d.name,v.plateNo,v.model,l.lineNo,l.from_station,l.end_stationFROM vehicle v JOIN driver d  ON v.driverID=d.driverIDJOIN line l  ON v.lineID=l.lineIDWHERE type='非空调车'

示例2:

获取公交二公司所有司机信息。要求输出司机姓名、身份证、性别和电话。

SELECT d.name,d.licenseNo,d.gender,d.phoneFROM vehicle v JOIN driver d   ON v.driverID JOIN line l  ON v.lineID=l.lineIDWHERE company='公交二公司'

6.简单多表连接查询

如果在FROM子句中,直接列出所有要连接的表,然后在WHERE子句中指定连接条件,此为简单多表查询,它与内连接功能相同

使用两表连接查询语法格式如下:

SELECT fieldlistFROM table1,table2WHERE table1.column1=table2.column2[AND 其他条件]

使用三表连接查询语法格式如下:

SELECT fieldlist FROM table1,table2,table3WHERE table1.column1=table2.column2_1   AND table2.column2_2=table3.colemn3[AND 其他条件]

示例:

获取所有非空调车的车牌号、型号和司机姓名、所属线路的线路好、起点站和终点站信息

SELECT d.name,v.plateNo,v.model,l.lineNo,l.from_station,l.end_stationFROM vehicle v,driver d,line lWHERE v.driverID=d.driverID  AND v.lineID=l.lineIDAND type='空调车'

以上就是怎么在Mysql中实现连接查询,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: 怎么在MySQL中实现连接查询

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在MySQL中实现连接查询
    本篇文章给大家分享的是有关怎么在MySQL中实现连接查询,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.内连接查询概要    &nbs...
    99+
    2023-06-15
  • mysql中怎么实现多表连接查询
    这篇文章将为大家详细讲解有关mysql中怎么实现多表连接查询,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。代码如下:SELECT FId ...
    99+
    2022-10-18
  • Linq中怎么实现连接查询
    今天就跟大家聊聊有关Linq中怎么实现连接查询,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Linq连接查询之前先建立两个查询:using (DataClassesData...
    99+
    2023-06-17
  • mysql如何实现连接查询
    下文我给大家简单讲讲关于mysql如何实现连接查询,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完mysql如何实现连接查询对大家多少有点帮助吧。交叉连接 cross &nbs...
    99+
    2022-10-18
  • mysql外连接查询怎么用
    本篇内容主要讲解“mysql外连接查询怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql外连接查询怎么用”吧!说明外连接不仅返回符合连接和查询条件的数据行,还返回一些不符合条件的行。...
    99+
    2023-06-20
  • Mysql Join-连接查询(中)
    Mysql Join-连接查询(中) 认识 就我平时的数据接触来看, 连接查询也没有很复杂,不够是非常需要耐心和逻辑的, 一点点将数据查出来, 拼接等. 没有什么技巧, 多练习就会了. 无非就是表之间根据共同key来连接, 查询时结合uni...
    99+
    2016-09-20
    Mysql Join-连接查询(中)
  • SQL中怎么实现多表连接查询
    本篇文章为大家展示了SQL中怎么实现多表连接查询,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.理论只要两个表的公共字段有匹配值,就将这两个表中的记录组合起来。个...
    99+
    2022-10-18
  • 怎么在mysql中使用多个left join连接查询
    这期内容当中小编将会给大家带来有关怎么在mysql中使用多个left join连接查询,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。mysql查询时需要连接多个表时,比如...
    99+
    2022-10-18
  • MySQL中的连接查询(等值连接)
    目录1. 笛卡尔乘积2. 分类(1)按年代分类(2)按功能分类3. 等值连接4. 总结1. 笛卡尔乘积 表1有m行数据,表2有n行数据,查询结果有m*n行数据。 2. 分类 (1)按年代分类 sql92标准:仅支持内连接...
    99+
    2022-07-20
    MySQL连接查询 MySQL等值连接 MySQL中的查询
  • mysql如何实现多表连接查询
    这篇文章给大家分享的是有关mysql如何实现多表连接查询的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实际的项目,存在多张表的关联关系。不可能在一张表里面就能检索出所有数据。如果...
    99+
    2022-10-18
  • JDBC连接MySQL并实现模糊查询
    场景: 在学习JDBC的语言中,每次都执行通用的几步:即注册驱动,获取连接,创建操作,处理结果,释放资源 过于复杂,因此不妨将上述步骤封装成工具类,只对外提供方法! 描述: 这是不使...
    99+
    2022-11-12
  • Mariadb怎么实现多表连接查询
    这篇文章主要介绍“Mariadb怎么实现多表连接查询”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Mariadb怎么实现多表连接查询”文章能帮助大家解决问题。概念因为我们使用的是关系型数据库,每张表...
    99+
    2023-06-27
  • 什么是MySQL 连接查询
    什么是MySQL 连接查询?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。          ...
    99+
    2022-10-18
  • MySQL连接查询是什么
    这篇文章主要为大家展示了“MySQL连接查询是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL连接查询是什么”这篇文章吧。内连接内连接INNERJOIN是最常用的连接操作。从数学的角...
    99+
    2023-06-29
  • MySQL连接查询实例详解
    本文实例讲述了MySQL连接查询。分享给大家供大家参考,具体如下: 创建表suppliers: CREATE TABLE suppliers ( s_id int NOT NULL AUTO_...
    99+
    2022-10-18
  • mysql查询结果怎么实现多列拼接查询
    这篇文章主要介绍“mysql查询结果怎么实现多列拼接查询”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql查询结果怎么实现多列拼接查询”文章能帮助大家解决问题。之前遇到过一个问题,mysql数...
    99+
    2023-06-29
  • 如何对MYSQL多表实现连接查询
    下面一起来了解下如何对MYSQL多表实现连接查询,相信大家看完肯定会受益匪浅,文字在精不在多,希望如何对MYSQL多表实现连接查询这篇短内容是你想要的。3种连接方式的区别:INNER JOIN(内连接,或等...
    99+
    2022-10-18
  • MySQL中连接查询和子查询的问题
    目录多表连接的基本语法交叉连接和笛卡尔积现象交叉连接笛卡尔积现象内连接外连接左外连接右外连接全外连接子查询多表连接的基本语法 多表连接,就是将几张表拼接为一张表,然后进行查询 s...
    99+
    2022-11-12
  • MySql中的连接查询问题怎么解决
    本文小编为大家详细介绍“MySql中的连接查询问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“MySql中的连接查询问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。连接查询当进行多表连接查询...
    99+
    2023-07-05
  • mysql中怎么实现查询和子查询
    这篇文章给大家介绍mysql中怎么实现查询和子查询,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、查询的五种子句        wher...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作