MySQL连接查询

喜你入骨 提交于 2020-03-15 13:17:34

MySQL中的连接查询:

虽然在看过数据库原理之后还是有很多不知道的地方,下面有叙述不对的地方望大家批评指正。

在数据库中连接基本基本上都是基于笛卡尔积的原理上的。(连接、等值连接、自然连接、内连接、外连接(左连接、右连接、全连接)

1> 首先介绍下笛卡尔积

 

以下面的A B 表为例:集合A={1,2},集合B={a,b,c},则两个集合的笛卡尔积为{(1,a),(1,b),(1,c),(2,a),(2,b),(2,c)}。 

形成的结果:

MySQL中笛卡尔积的使用:

具体步骤:
  创建数据库(create database XX)
  创建表格A与表格B(create table A…, create table B…, )
  插入数据
  求出笛卡尔积:select * from A,B;

 2> 连接(θ连接,等值连接,自然连接)

1.θ连接:从两个表的笛卡尔积选取属性满足一定条件的元组。

以上面的为例

以上是公式,看起来比较麻烦!看下在MySQL中的书写:

大于查询 SELECT * FROM A,B WHERE A.a>B.c;
等于查询 SELECT * FROM A,B WHERE A.a=B.c;
小于查询 SELECT * FROM A,B WHERE A.a<B.c;

2.等值连接:从两个表的笛卡尔积选取属性满足一定条件的元组,其中θ为“=”号

其实就是θ为“=”。

看下在MySQL中的书写:

等于查询 SELECT * FROM A,B WHERE A.a=B.c;

3.自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列

在θ中AC列会合并成为一列,BD会合成一列

看下在MySQL中的书写:

自然连接查询 SELECT * FROM A NATURAL JOIN  B;

 3>内连接、外连接

1.内连接 内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值

看下在MySQL中的书写:

内连接查询 SELECT * FROM A INNER  JOIN b ON  A.a=B.c;;

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!