MySQL 拾穗者 五 连接

连接

摘要

内连接, 相等连接, 自然连接, 交叉连接,外连接,左外连接, 右外连接, 全连接, 自连接

概述

sql的连接join, 将数据库中的两个或多个表组合起来,连接生成的集合,可以被保存为表,或者当做表使用

join语句的含义是把两张表的属性通过值组合在一起,

基于ANSI标准的sql列出了5种join方式,inner, full outer, left outer, right outer, cross(交叉连接)

在特定的情况下,一张表(基本表,视图,连接表)可以和自身进行连接,成为自连接self-join

程序员使用join表示得到连接后的集合,如果 evaluated predicate 为真, 组合后的记录会按照预期的方式生成,

例如一个记录集,一张临时表

正文

一 内连接 inner join

内连接是应用程序中普遍的连接操作,一般是默认的连接类型

内连接基于连接谓词将两张表A,B的列组合在一起,产生新的结果表,

查询会将A表中的每一行和B表中的每一行进行比较,找出满足连接谓词的组合

当连接谓词被满足,两表中匹配的行会按列组合(并排组合)成结果集中的一行

连接产生的结果集,可以定义为首先对两张表做笛卡尔积(交叉连接)--将A中每一行和B中每一行组合

实际上SQL产品会尽可能用其他方式实现连接,笛卡尔积运算效率极低

二 外连接 outer join

外连接并不要求连接的两表的每一条记录在对方表中都有一条匹配的记录

要保留所有的记录(甚至这条记录没有匹配的记录的记录也需要保留)的表称为保留表

外连接可依据连接表保留左表,右表,或全部表的行,进一步分为左外连接,右外连接,全连接

在标准的SQL语言中,外连接没有隐式的连接符号
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • MySQL技术内幕:SQL编程 姜承尧 第1章 SQL编程 >> B是由MySQL创始人之一Monty分支的一个版...
    沉默剑士阅读 2,488评论 0 3
  • 1、MySQL启动和关闭(安装及配置请参照百度经验,这里不再记录。MySQL默认端口号:3306;默认数据类型格式...
    强壮de西兰花阅读 678评论 0 1
  • DataBase-MySQL-PGSQL rm -f *.backup pg_dump -h localhost ...
    燕京博士阅读 446评论 0 0
  • 1、创建练习使用的数据表 goods_id —— 商品编号goods_name —— 商品名称goods_cate...
    黒猫阅读 1,045评论 0 4
  • 这剧还没那么火的时候,就听到身边的小伙伴时常谈到。我本已弃剧,尤其是国产剧,却也凑巧,五一的时候去千微家里就自然而...
    鹿小路阅读 569评论 0 0