黑马程序员技术交流社区

标题: 数据库表之间的连接 [打印本页]

作者: 梁琨    时间: 2011-12-1 22:59
标题: 数据库表之间的连接
本帖最后由 梁琨 于 2011-12-2 17:54 编辑

自然连接和以join关键字的内连接、外连接、交叉连接。具体使用上用那个执行效率最高。最好有代码案例
作者: 张彪    时间: 2011-12-1 23:23
例如:
    select xsb*,cjb.课程号,cjb.成绩
    from xsb,cjb
    where xsb.学号=cjb.学号
join关键字连接中inner表示内连接,outer表示外连接。1、左外连接(left outer join):结果表中除了包含满足连接条件的行外,还包含左表的所有行。select xsb.*,课程号
from xsb left outer join cjb
on xsb.学号=cjb.学号
2、右外连接(right outer join)结果表中除了包含满足连接条件的行外,还包含右表的所有行;
select cjb.*,课程号
from right outer join kcb
on cjb.课程号=kcb.课程号
3、交叉连接。交叉连接实际上是将两个表进行笛卡尔积,结果表是由第一个表的每行与第二个表的每一行拼接后形成的表。
select 学号,姓名,课程号,课程名
from xsb crossjoin kcb




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