黑马程序员技术交流社区

标题: 数据库自身连接的简单问题 [打印本页]

作者: 郑丹丹1990    时间: 2013-4-10 22:01
标题: 数据库自身连接的简单问题
本帖最后由 郑丹丹1990 于 2013-4-24 08:58 编辑

查询每门课的间接先修课(先修课的先修课)
T_Course
Cno   Cname     Cpno   Ccredit
1      数据库       5            4
2      数学                        2
3     信息系统    1           4
4     操作系统    6            3
5    数据结构     7            4
6    数据处理                   2
7     c#              6             4


select First.T_Course.Cno,Second.Cno
from T_ Course First,Second.T_Course
where  First.Cpno=Second.Cno

表的自身连接掌握的不是太好,
这个?????
还有这个表的连接到底以后用的多吗??
作者: 许庭洲    时间: 2013-4-10 22:25
自连接并不是独立于交叉连接,内连接,外连接等这些连接方式之外的另外一种连接方式,而只是这些连接方式的一种特例,也就是交叉连接,内连接,外连接等连接方式中只要参与连接的表是同一张表,那么它们就可以被称为自连接。
作者: 宋兴征    时间: 2013-4-10 22:56
你不会也在学数据库原理这本书吧?这个例子我觉得不好,当初就把我脑袋搅了一团。
sql语句应该是:
select c1.cno, c2.cpno
from T_Course as c1, T_Course as c2
where c1.cpno=c2.cno
and c2.cpno is not null
看作是两个相同的表,以c1.cpno=c2.cno作为连接条件,然后连接的结果 ,就能看出来了。
建议你在纸上写出来步骤,就能明白了。


作者: yangaidongcumt    时间: 2013-6-10 19:39
其实就是自己连接自己,就是给同一个表起两个名字,通过字段连接起来,查询就可以了,不要想那么复杂~~~




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