oracle自然连接问题

[复制链接]
查看11 | 回复1 | 2011-1-4 06:45:27 | 显示全部楼层 |阅读模式
表结构如下,竟然可以使用自然连接(列名不同),查询代码
select s.sid,s.sname,s.sbirth,s.sclass,s.saddress,c.department,c.cname,d.dname
from Student s natural join class c natural join department d
where d.dname='法律系';
-------------------------------------------------------------
SQL> desc class
名称
是否为空? 类型
----------------------------------------- -------- ----------------------------
CID
NOT NULL VARCHAR2(10)
DEPARTMENT
VARCHAR2(10)
CNAME
VARCHAR2(16)
SQL> desc department
名称
是否为空? 类型
----------------------------------------- -------- ----------------------------
DID
NOT NULL VARCHAR2(10)
DNAME
VARCHAR2(8)
DOFFICE
VARCHAR2(20)
DTELEPHONE
VARCHAR2(8)
DPRINCIPAL
VARCHAR2(10)
SQL> desc student
名称
是否为空? 类型
----------------------------------------- -------- ----------------------------
SID
NOT NULL VARCHAR2(10)
SNAME
VARCHAR2(8)
SBIRTH
DATE
SCLASS
VARCHAR2(10)
SADDRESS
VARCHAR2(20)

回复

使用道具 举报

千问 | 2011-1-4 06:45:27 | 显示全部楼层
等值联接 就是使用相当判断条件构建的连接自联接 就是将一个表看成两个表自己和自己连接外部联接 就是以一个表为主和另一个进行连接,如果另一个中没有就采用空值代替,有分为左外连接、右外连接和全外连接自然联接 就是将两个表按照同名的列表示相同意义,建立起一个等值内连接,返回结果的时候去掉重复的列,现在有很多数据库都不支持自然连接了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行