1.基本含义

  连接就是指两个或2个以上的表(数据源)“连接起来成为一个数据源”。

  实际上,两个表的完全的连接是这样的一个过程:

  左边的表的每一行,跟右边的表的每一行,两两互相“横向对接”后所得到的所有数据行的结果。

  注意:连接之后,并非形成了一个新的数据表,而只是一种“内存形态”。

  

2.连接语法的基本形式

  from 表1  [连接方式]  join 表2  [on 连接条件];

  连接的结果可以当作一个“表”来使用。常用有以下几种连接方式:交叉连接  内连接  外连接  左、右外连接

3.交叉连接:

  实际上,交叉连接是将两个表不设定任何条件的连接结果。

  交叉连接通常也被叫做“笛卡尔积”——数学上可能比较多。  注【无意义】

  语法:

  from  表1  [cross]  join  表2  ; //可见交叉连接只是没有on条件而已。

  cross这个词也可以省略,还可以使用inner这个词代替

  表1:

  

  表2:

   

  交叉:

  

4.内连接:

  from  表1  [inner]  join  表2  on  表1.字段1=表2.字段2;

  含义:找出(过滤)在交叉连接的结果表中的表1的字段1的值等于表2的字段2的值的那些行。

  

5.左[外]连接:

  from  表1  left  [outer]  join   表2   on  连接条件。

  说明:

  1,这里,left是关键字。

  2,连接条件跟内连接一样。

  3,含义是:内连接的结果基础上,加上左边表中所有不符合连接条件的数据,相应放右边表的字段的位置就自动补为“null”值。

  

  则左连接结果为:

  

  

6.右[外]连接:

  右连接跟左连接恰恰相反:

  形式:

  from  表1  right  [outer]  join   表2   on  连接条件。

  说明:

  1,这里,right是关键字。

  2,连接条件跟内连接一样。

  3,含义是:在内连接的结果基础上,加上右边表中所有不符合连接条件的数据,相应本应放左边表的字段的位置就自动补为“null”值。

7.全[外]连接:

  形式:

  from  表1  full  [outer]  join  表2  on  连接条件;

  说明:

  1,含义:其实是左右连接的“并集”(消除重复项),即内连接的结果,加上左表中不满足条件的所有行(右边对应补null),再加上,右表中不满足条件的所有行(左边对应补null)。

  2,mysql中其实不认识全[外]连接语法,即mysql这个软件本身不支持全连接的语法。

  3,此概念在其他数据库有的存在,了解就可以。

8.子查询:

  子查询就是把一个查询的结果当作另一个查询的条件。

  使用in子查询:  

  in的基本语法形式为:

  where  操作数  in (值1,值2, ....)

  则in子查询就是:

  where  操作数  in ( 列子查询 );

  含义:

  表示该操作数(字段值) 等于 该子查询的其中任意一个只,就算满足条件。

9.联合查询:

  联合查询的关键字是: union

  基本含义:

  联合查询就是将两个select语句的查询结果“层叠”到一起成为一个“大结果”。

  两个查询结果的能够进行“联合”的先觉条件是:结果字段数相等。

  

MySQL数据库——连接查询的更多相关文章

  1. MySql的连接查询

    类似于oracle的连接查询,mysql连接查询也有左外连接.右外连接.内连接查询.但是,不同的是没有直接 的全外连接查询. 这里介绍MySql的连接查询: 这里已两张表为例:STUDENT 表 和 ...

  2. MySQL查询优化:连接查询排序limit

    MySQL查询优化:连接查询排序limit(join.order by.limit语句) 2013-02-27      个评论       收藏    我要投稿   MySQL查询优化:连接查询排序 ...

  3. SQL Server数据库————连接查询和分组查询

    SQL Server数据库————连接查询和分组查询 分组查询 select 列from  <表名> where  …… group by  列 注意:跟order  by一样group ...

  4. Mysql数据库使用量查询及授权

    Mysql数据库使用量查询及授权 使用量查询 查看实例下每个库的大小 select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2 ...

  5. MySQL数据库的查询缓冲机制

    MySQL数据库的查询缓冲机制 2011-08-10 11:07 佚名 火魔网 字号:T | T 使用查询缓冲机制,可以极大地提高MySQL数据库查询的效率,节省查询所用的时间.那么查询缓冲机制是怎样 ...

  6. 【杂记】mysql 左右连接查询中的NULL的数据筛选问题,查询NULL设置默认值,DATE_FORMAT函数

    MySQL左右连接查询中的NULL的数据筛选问题 xpression 为 Null,则 IsNull 将返回 True:否则 IsNull 将返回 False. 如果 expression 由多个变量 ...

  7. MySql数据库慢查询

    一.什么是数据库慢查询? 数据库慢查询,就是查询时间超过了我们设定的时间的语句. 可以查看设定的时间: 默认的设定时间是10秒.也可以自己根据实际项目设定. set long_query_time=0 ...

  8. Python 使用PyMySql 库 连接MySql数据库时 查询中文遇到的乱码问题(实测可行) python 连接 MySql 中文乱码 pymysql库

    最近所写的代码中需要用到python去连接MySql数据库,因为是用PyQt5来构建的GUI,原本打算使用PyQt5中的数据库连接方法,后来虽然能够正确连接上发现还是不能提交修改内容,最后在qq交流群 ...

  9. C# 连接MySQL数据库 ,查询条件中有中文时,查询不出结果

    使用C#成功连接上MySql数据库后,但如果查询条件中有中文,查询结果就为空. String connetStr = "server=127.0.0.1;port=3306;user=roo ...

随机推荐

  1. bzoj4397[Usaco2015 dec]Breed Counting*

    bzoj4397[Usaco2015 dec]Breed Counting 题意: 给定一个长度为N的序列,每个位置上的数只可能是1,2,3中的一种.有Q次询问,每次给定两个数a,b,请分别输出区间[ ...

  2. .Net Core 读取文件中文乱码

    首先,要知道.Net Core和.Net Framework两个环境下很多东西是不同的,接下来要说的这个就是其中一个. Encoding.Default,在  .NET Framework 中,Def ...

  3. Windows 磁盘分区后如何再合并&如何用Windows自带工具扩大某个分区

    Windows 磁盘分区后如何再合并&用Windows自带工具扩大某个分区 注:此方法有一定的成功率,更加完善可行的方法请看http://www.diskgenius.cn/help/part ...

  4. Ethical Hacking - Web Penetration Testing(3)

    EXPLOITATION -File Upload VULNS Simple type of vulnerabilities. Allow users to upload executable fil ...

  5. Python Ethical Hacking - WEB PENETRATION TESTING(4)

    CRAWING SPIDER Goal -> Recursively list all links starting from a base URL. 1. Read page HTML. 2. ...

  6. ResNeXt论文阅读笔记.md

    目录 1. 提出背景 2. 核心思想 3. 论文核心 4. 分组卷积 5. 核心代码 论文: Aggregated Residual Transformations for Deep Neural N ...

  7. 利用tox打造自动自动化测试框架

    什么是tox tox官方文档的第一句话 standardize testing in Python,意思就是说标准化python中的测试,那是不是很适合测试人员来使用呢,我们来看看他究竟是什么? 根据 ...

  8. TestNg失败重跑—解决使用 dataProvider 参数化用例次数冲突问题

    问题背景 在使用 testng 执行 UI 自动化用例时,由于 UI自动化的不稳定性,我们在测试的时候,往往会加上失败重跑机制.在不使用 @DataProvider 提供用例参数化时,是不会有什么问题 ...

  9. css控制div的各种形状

    css控制div的各种形状 CSS3的一个非常酷的特性是允许我们创建各种规则和不规则形状的图形,从而可以减少图片的使用. 以前只能在Photoshop等图像编辑软件中制作的复杂图形现在使用CSS3就可 ...

  10. 题解 CF13E 【Holes】

    这个题和$P3203\ $弹飞绵羊基本上完全一致 我的做法是用\(LCT\)维护信息,开一个节点\(fly\),表示到此节点时,小球会弹飞,那么查询弹多少次即为\(siz[fly]-1\) 最后一次落 ...