查询Oracle DB时:
如果查询是带连接的select,语法是否必须包含关键字:
如果没有,那么替代用法/语法是什么?
我问这个是因为我正在查看一个SELECT语句,该语句不使用FROM子句中的任何JOIN关键字,但包含WHERE子句中的连接语法,我想知道:
示例:
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 ...
答案 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 ...