美文网首页
SQL 表连接

SQL 表连接

作者: 某某香肠 | 来源:发表于2018-07-28 20:43 被阅读0次

两表做全相乘(交叉连接)

select * from table1,table2;

返回一个全新的表,其行数为两表的行数相乘,每一行的为两表每一行的两两结合,列数为两表列数的和。

因为这种方法会生成一个大表,非常占内存(比如两张10000行的表相乘就得到1×108行的表),所以应尽量避免使用。

左连接

table1 left join table2 on [条件];

当[条件]为真时,则将table2对应的行取出并将其添加到table1对应的行上,以形成一张新表。如果table1的某行在table2中没有匹配行,则新表中该行的保留table1的数据,table2列的值均为NULL。由于建立了索引,因此效率非常快。

右连接

table1 right join table2 on [条件];

与左连接相反,保留table2的所有行,如果table2的某行在table1中没有匹配行,则新表中该行的保留table2的数据,table1列的值均为NULL。

内连接

table1 inner join table2 on [条件];

与左右连接相似,但不同的时,不会保留table1和table2没有匹配上的行(也就是左右连接的交集)。

完全连接

table1 full join table2 on [条件];
保留左右表的所有行,不匹配的用NULL填充(也就是左右连接的并集),但mysql中不支持该语法。

相关文章

  • 连表查询:sql1992和sql1999

    sql1992 sql分类 1.笛卡尔积 (表乘表) 2.等值连接 表的连接条件使用“=” 3.非等值连接 表的连...

  • 2020-04-01

    连接两表 SOLUTION 输入 输出 解题思路SQL 连接类型SQL 中有多种不同的连接: 内连接(INNER ...

  • SQL常见面试题

    1、SQL的表连接方式有哪些?SQL中连接按结果集分为:内连接,外连接,交叉连接内连接:inner join on...

  • SQL 表连接

    两表做全相乘(交叉连接) select * from table1,table2;返回一个全新的表,其行数为两表的...

  • sql表连接

    表连接可以让我们从不同的表中获取记录并组合在一起。 表连接的基本语法如下: join 用来表示连接的表。on 用来...

  • Oracle表连接学习笔记

    @[toc] 一、表连接类型 表连接类型可以分为:内连接、外连接,在看《收获,不止sql优化》一书并做了笔记 1....

  • 数据库基础知识整理-连接表操作

    数据库基础知识整理-连接表操作 表连接 SQL 的最有利的特征之一是能够组合来自两个或多个表的数据。在SQL中,“...

  • Oracle面试题之SQL tunting

    Oracle面试题之SQL tunting 1:列举几种表连接方式 答:一共有三种连接方式(SQL优化),嵌套循环...

  • 测试面试题五

    SQL的查询优化(1)从表连接的角度优化:尽量使用内连接,因为内连接是两表都满足的行的组合,而外连接是以其中一个表...

  • 连接查询

    SQL表连接查询(inner join、full join、left join、right join) 有两个表,...

网友评论

      本文标题:SQL 表连接

      本文链接:https://www.haomeiwen.com/subject/vtramftx.html