回 帖 发 新 帖 刷新版面

主题:自连接有什么用?

例如:
select c1.cno,c1.coursename,c1.pno,c2.coursename 
from courses c1,courses c2 where c1.pno=c2.cno

完全可以用:
select cno,coursename
from courses
取代。

  

回复列表 (共2个回复)

沙发


当然不能代替了,前面一个可以查询一门课的第二级先修课,而后面的select语句查询的是一门课的第一级先修课而已.两者的作用是不同的
执行步骤如下:
select c1.cno,c1.coursename,c1.pno,c2.coursename   /*2*/
from courses c1,courses c2     /*1*/
where c1.pno=c2.cno            /*3/  
相当于两个表的连接.

板凳

两个不一样的,不能取代

我来回复

您尚未登录,请登录后再回复。点此登录或注册