Oracle SQL - 加入语法/关键字

时间:2014-03-12 18:47:52

标签: sql oracle join

查询Oracle DB时:

如果查询是带连接的select,语法是否必须包含关键字:

  • INNER JOIN
  • 外部加入
  • LEFT / RIGHT OUTER JOIN

如果没有,那么替代用法/语法是什么?

我问这个是因为我正在查看一个SELECT语句,该语句不使用FROM子句中的任何JOIN关键字,但包含WHERE子句中的连接语法,我想知道:

  • 如果选择正在执行JOIN
  • 如果是,查询是什么类型的JOIN

示例:

SELECT e.name, e.employeeid, d.sales, d.task, sum(d.hours)
FROM employee e,
       timecard d,
WHERE e.employeeid = d.employeeid and
GROUP BY ...
ORDER BY ...

2 个答案:

答案 0 :(得分:2)

是的,这是一个(内部)联接,可以重写为

SELECT e.name, e.employeeid, d.sales, d.task, sum(d.hours)
FROM employee e
JOIN timecard d on e.employeeid = d.employeeid
WHERE ...
GROUP BY ...
ORDER BY ...

答案 1 :(得分:1)

该示例相当于INNER JOIN。 Oracle中用于LEFT连接的等效(不推荐)语法是

SELECT e.name, e.employeeid, d.sales, d.task, sum(d.hours)
FROM employee e,
       timecard d,
WHERE e.employeeid = d.employeeid(+) and
GROUP BY ...
ORDER BY ...