为了账号安全,请及时绑定邮箱和手机立即绑定

数据库中JOIN怎么用?

数据库中JOIN怎么用?

Cats萌萌 2019-04-15 08:08:15
数据库中JOIN怎么用?
查看完整描述

2 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

JOIN分为:内连接、相等连接、自然连接、交叉连接,如下:
  a、显式的内连接与隐式连接(inner join == join )
  显示连接:SELECT * from employee join department on employee.DepartmentID = department.DepartmentID
  等价于:
  隐式连接:SELECT * from employee,department WHERE employee.DepartmentID = department.DepartmentID
  注:当DepartmentID不匹配,就不会往结果表中生成任何数据。
  
  b、相等连接
  提供了一种可选的简短符号去表达相等连接,它使用 USING 关键字。
  SELECT * from employee join department using (DepartmentID)
  注:与显式连接不同在于:DepartmentID只显示一列
  
  c、自然连接
  比相等连接的进一步特例化。两表做自然连接时,两表中的所有名称相同的列都将被比较,这是隐式的。
  自然连接得到的结果表中,两表中名称相同的列只出现一次.
  select * from employee natural join department
  注:在 Oracle 里用 JOIN USING 或 NATURAL JOIN 时,如果两表共有的列的名称前加上某表名作为前缀,
  则会报编译错误: "ORA-25154: column part of USING clause cannot have qualifier"
  或 "ORA-25155: column used in NATURAL join cannot have qualifier".
  
  d、交叉连接(又称笛卡尔连接)
  如果 A 和 B 是两个集合,它们的交叉连接就记为: A × B.
  显示连接:
  select * from employee cross join department
  等价于
  隐式连接:
  select * from employee,department



查看完整回答
反对 回复 2019-04-16
  • 2 回答
  • 0 关注
  • 422 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信