Mysql的内连接,外链接,交叉链接

内连接:只连接匹配的行  inner join

select A.*,B.* from A,B where A.id = B.parent_id

外链接包括左外链接,右外链接,全外链接

左外链接:包含左表的所有行,右表不匹配的显示null

select A.*,B.* from A left join B on A.id = B.parent_id

右外链接:包含右表所有行,左表不匹配的显示null

全外链接:包含左右两表的全部行 full join

交叉链接:笛卡尔积 将一个数据源中的每个行与另一个数据源的每个行都一一匹配

原文地址:https://www.cnblogs.com/bingyimeiling/p/8696211.html

时间: 2024-10-27 18:09:22

Mysql的内连接,外链接,交叉链接的相关文章

左连接,右连接,内连接,外连接, join, left join, right join ,mysql ,oracle

2016-6-12 22:35:51 工作用了一年多的oracle,最近在学mysql, 仔细想想 各种连接,感觉这些概念还是蛮烦人的! 最近整理了一下,分享一下自己的理解,有些东西是借鉴网上并自己吸收了的. 1.不管是什么连接,oracle和mysql的原理是一模一样的,只是有些写法不一样而已.说到写法,这里提一下, select * from A, B where a.filed1=b.filed2; --这是第1种写法, 内连接,这样写,很方便, oracle和mysql通用 select

内连接 外连接 自连接 交叉连接

======================================================== My SQL如下: ======================================================== 1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和courses表中学生标识号相同的所有行. 2.外联接.外联接

内连接 外连接 交叉连接

数据库表连接大致分为三种:交叉连接.内连接.外连接 交叉连接(CROSS JOIN):其实就是内连接的一种特例,不带查询条件 内连接(INNER JOIN):相等连接.不等连接.自然连接 外连接(OUTER JOIN):左外联接.右外链接.全外连接(全外连接只有部分RDBMS系统可以做到,例如Oracle.做不到的有MySQL.SQL Server.Access) 交叉连接: 最简单,返回多张表每一行相乘的结果,也就是笛卡尔积.关键字是 CROSS JOIN 写法有三种:CROSS JOIN ,

sql 内连接 外连接 左连接 右连接

1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.     内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和courses表中学生标识号相同的所有行.       2.外联接.外联接可以是左向外联接.右向外联接或完整外部联接.     在 FROM子句中指定外联接时,可以由下列几组关键字中的一组指定:     1)LEFT  JOIN或LEFT OUTER JOIN     左向外联接的结果集包括  LEF

SQL中的内连接外连接和交叉连接是什么意思?

内连接又分为等值连接.自然连接和不等连接三种. 外连接分为左外连接(LEFT OUTER JOIN或LEFT JOIN).右外连接(RIGHT OUTER JOIN或RIGHT JOIN)和全外连接(FULL OUTER JOIN或FULL JOIN)三种.与内连接不同的是,外连接不只列出与连接条件相匹配的行,而是列出左表(左外连接时).右表(右外连接时)或两个表(全外连接时)中所有符合搜索条件的数据行. 交叉连接(CROSS JOIN)没有WHERE 子句,它返回连接表中所有数据行的笛卡尔积,

SQL内连接-外连接join,left join,right join,full join

1.创建测试表test1及test2 SQL> CREATE TABLE TEST1(ID NUMBER,NAME VARCHAR2(20)); 表已创建. SQL> create table test2(id number, country varchar2(10)); 表已创建. INSERT INTO TEST1 VALUES(1,'name1'); INSERT INTO TEST1 VALUES(2,'name2'); INSERT INTO TEST1 VALUES(3,'name

MySQL的内连接,左连接,右连接,全连接

内连接(INNER JOIN)(典型的连接运算,使用像   =   或   <>   之类的比较运算符).包括相等连接和自然连接. 内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行 左连接(LEFT   JOIN   或   LEFT   OUTER   JOIN)是右左边表中的数据为基准,若左表有数据右表没有数据,否则显示左表中的数据右表中的数据显示为空 右连接(RIGHT  JOIN  或  RIGHT   OUTER   JOIN)是以右边表中的数据为基准,若右表有数据左表没有

数据库操作-内连接外连接

内连接: 只连接匹配的行 左外连接: 包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行 右外连接: 包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行 全外连接: 包含左.右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行. /**************************************************************************************/ 表A id   n

07_MySQL DQL_多表查询_等值内连接

#6:连接查询/*含义:多表查询,当查询的字段来自多个表 笛卡尔积: 表1,m行:表2,n行: 表1,表2 = m*n行发生原因:表1的每行和表2的n行拼接,形成n行,最终得到m*n行如何避免:增加连接条件 连接查询的分类: 按年代分类: sql92标准[mysql只支持该标准的内连接,一部分外连接] sql99标准[推荐]mysql支持内连接 外连接(左右连接) 交叉连接 按功能分类: 内连接 等值连接 非等值连接 自连接 外连接 左连接 右连接 全连接 交叉连接*/USE girls; #