用于使用INNER JOIN的语句
SELECT column(s) FROM table1
INNER JOIN table2 ON condition(s)
...
INNER JOIN tableN ON condition(s);我可以这样写一个等价的语句:
SELECT column(s) FROM table1, table2, ..., tableN WHERE condition(s);注意如何使用WHERE在第二条语句中设置我的条件。
问题:我是否也可以使用在何处设置外部(左/右)连接语句的条件来编写等效语句?
发布于 2009-09-17 12:14:50
我是否也可以使用在何处为任何外部(左/右)联接语句设置我的条件来编写等效语句?
不,不是在ANSI或MySQL中。在ANSI联接语法被接受之前,其他一些数据库有自己的语法。例如,在Oracle 8中:
WHERE table1.id=table2.thing (+)但是今天,ANSI连接语法对于这两种连接都应该是首选的。
发布于 2009-09-17 12:06:16
我不是MYSQL专家,但在oracle中,在where条件下外部联接的语法是t1.id += t2.id
发布于 2009-09-17 12:02:32
SELECT ...
FROM table1 t1
RIGHT OUTER JOIN table2 t2 ON (t1.x = t2.y AND somecondition)https://stackoverflow.com/questions/1438403
复制相似问题