黑马程序员技术交流社区

标题: sql中的内联外联 [打印本页]

作者: 张世豪    时间: 2012-4-6 19:09
标题: sql中的内联外联
请教各位讲解一下,sql中的内联外联吧,最好是简单易懂的。
作者: 姜志钦    时间: 2012-4-7 07:22
内联就是把两表中条件符合的数据都给出,不符合的略去。外联分左右外联,左联就是左表的数据都给出,右表匹配的数据给出,不匹配的数据用NULL填充;右外联就反过来。如A左外联B, A表有五行数据,用id号为关联条件与B表左外联接,但B表只有三行数据满足条件,联接的结果就是A表的五行数据都显示出来,另两行B表不符合的列用Null代替。
作者: yoosou2012    时间: 2012-4-7 09:14
外连接分为左、右向外连接或是完整的外部连接。他们都是集合的形式,如左向外联系中指定的是左表中的所有行,而不仅是连接列所匹配的行。右向外连接道理相同。
内连接分为等值连接、不等连接和自然连接。它们都是使用比较运算符来比较被连接列的值。它们的作用是查询、操作或是列出与连接条件相对应的数据行。
作者: 郭耀强    时间: 2012-4-7 18:16
例如:select * from a inner join b on a.id=b.id 就是说把a和b表id相等的数据放在一起,select * from a left join b on a.id=b.id 左链接就是根据left join 左边表中的id检索右边表id等于左边表id的数据,不符合的都用NULL代替,同理可得right join 的意思,关键字right join .
inner join 可以替换为 join
作者: 郭耀强    时间: 2012-4-7 18:21
相关图片

ininer join.png (14.82 KB, 下载次数: 42)

右链接

右链接

left join.png (17.38 KB, 下载次数: 42)

左链接

左链接

right join.png (17.37 KB, 下载次数: 46)

内链接

内链接

作者: 吴永飞    时间: 2012-4-7 18:33
外连结:1.左外连接(左表所有数据,当右表无数据对应时,以null代替)
        2.右外连接(显示右表所有数据,当左表无数据对应时,以null代替)
        3.全外连接(显示左右表所有数据)
        4.交叉连接(笛卡尔连接,左侧表数据与右侧表数据每个数据都做一个对应)
作者: pray    时间: 2014-4-26 03:22
我X!(此回复虽有且仅有两个字,却深刻地表达了回复人的惊讶与暴脾气,反应出作者性格十分暴Li,变tai,辣手催花,足以见作者从小骂人练就的扎实的文字功底和颠倒黑白的写作技巧及惨绝人寰的创新能力。实是禽兽不如!再加上以感叹号收尾,点睛之笔,妙笔生花,意境深远,照应前文,升华主题,在‘我X’后面加上**,胸部,臀部。。等等词汇给人无限感动和遐想有浑然天成之感,实乃回复中之极品,沙发占座中之绝笔。)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2