中国唯一一家专业只做ARACLE认证和BDA实训的甲骨文金牌合作企业

网络授课

技术沙龙

MySQL培训教程:select全连接查询

MySQL培训教程:select全连接,在检索时指定多个表,将每个表用都好分隔,这样每个表的数据行都和其他表的每行交叉产生所有可能的组合,这样就是一个全连接。所有可能的组和数即每个表的行数之和。

那么观察下面的检索的结果:

MySQL> SELECT * FROM first,last;

+------+------------+------+-----------+

| id | first_name | id | last_name |

+------+------------+------+-----------+

| 1 | Tom | 2 | Stone |

| 2 | Marry | 2 | Stone |

| 3 | Jarry | 2 | Stone |

| 1 | Tom | 3 | White |

| 2 | Marry | 3 | White |

| 3 | Jarry | 3 | White |

| 1 | Tom | 4 | Donald |

| 2 | Marry | 4 | Donald |

| 3 | Jarry | 4 | Donald |

+------+------------+------+-----------+

你可以看到输出的结果集中共有3×3=9 行,这就是全连接的结果。

你也可以这样使用SQL语句:

MySQL> SELCT first.*,last.* FROM first,last;

输出结果与上面的例子相同,并无二致。记录集的输出的排序是以FROM子句后的表的顺序进行,即先排列位置靠前的表,即使你改变记录集中列的显示顺序,例如下面的例子:

MySQL> SELECT last.*,first.* FROM first,last;

+------+-----------+------+------------+

| id | last_name | id | first_name |

+------+-----------+------+------------+

| 2 | Stone | 1 | Tom |

| 2 | Stone | 2 | Marry |

| 2 | Stone | 3 | Jarry |

| 3 | White | 1 | Tom |

| 3 | White | 2 | Marry |

| 3 | White | 3 | Jarry |

| 4 | Donald | 1 | Tom |

| 4 | Donald | 2 | Marry |

| 4 | Donald | 3 | Jarry |

+------+-----------+------+------------+

上面的例子是两个非常小的表的例子,如果是几个非常大的表的全连接,例如,两个行数分别为1000的表,这样的连接可以产生非常大的结果集合1000×1000=100万行。而实际上你并不需要这么多行的结果,通常你需要使用一个WHERE从句来限制返回的记录集的行数:

MySQL> SELECT * FROM first,last WHERE first.id= last.id;

+------+------------+------+-----------+

| id | first_name | id | last_name |

+------+------------+------+-----------+

| 2 | Marry | 2 | Stone |

| 3 | Jarry | 3 | White |

+------+------------+------+-----------+

CUUG 优技培训

中国Oracle培训领航专家

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。

金牌讲师

行业资深实战专家 让学习就像在就业
展开

实操环境

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

院校合作

学校新闻

行业新闻

在线预约 抢先报名 获取课程排期

请输入您的手机号

申请试听
版权所有:北京神脑资讯科技有限公司
地址:北京市海淀区紫竹花园4号楼D座703
全国免费咨询电话:400-0909-964
电话:010-59426307 ,邮政编码:100089
E-mail:cuug_bj@cuug.com
拨打电话
在线咨询
首页