我从SQL开始,出于某种原因,教授建议我们远离JOIN语句。但是,在做了某些原因后,我得出结论,JOIN语句实际上是首选。对此有何正式立场?
另外,我想将此WHERE语句转换为JOIN语句:
SELECT max(z.depttime)
FROM flights z
WHERE z.ref = p.ref
AND z.depttime < f.depttime
我试过这个,但显然是错的:
SELECT max(z.depttime)
FROM bus_journey z
JOIN z.ref=p.ref
ON z.depttime < f.depttimewhere
另外,为了澄清,我从WHERE转换为JOIN的原因是软件我使用的状态不允许使用&#34;旧式JOIN(ANSI JOINs)。请使用标准语法。&#34;
感谢任何帮助。 干杯!
答案 0 :(得分:1)
JOIN
关键字必须后跟表名。然后使用ON
子句指定该表与先前表之间的连接条件。它应该是这样的:
SELECT MAX(z.depttime)
FROM bus_journey z
JOIN other_table p ON z.ref = p.ref
JOIN third_table f ON z.depttime < f.depttime
这相当于隐式连接:
SELECT MAX(z.depttime)
FROM bus_journey z, other_table p, third_table f
WHERE z.ref = p.ref AND z.depttime < f.depttime
答案 1 :(得分:1)
作为一个老屁我使用WHERE语法。我工作的一些年轻人对JOIN语法感到兴奋。确实没有功能差异,有时我使用JOIN语法,特别是在共享代码时。它与OUTER和INNER JOIN语法更加一致,否则恕我直言没有任何好处(或有害)