以下select语句是否符合SQL92?

以下select语句是否符合SQL92?,sql,ansi-92,Sql,Ansi 92,以下select语句是否符合SQL92 SELECT table1.id, table2.id,* FROM table1, table2 WHERE table1.id = table2.id 我可能错了,但我的理解是SQL92约定是使用join语句连接表(例如,从表1到表2) 我可能错了,但我的理解是SQL92约定是使用join语句连接表(例如,从表1到表2) 不幸的是,我相信它们是,但是连接语法更难阅读和维护 我知道使用MSSQL,这两种连接方法之间没有性能差异,但哪一种更

以下select语句是否符合SQL92

SELECT table1.id, table2.id,*  
FROM table1, table2  
WHERE table1.id = table2.id  


我可能错了,但我的理解是SQL92约定是使用join语句连接表(例如,从表1到表2)

我可能错了,但我的理解是SQL92约定是使用join语句连接表(例如,从表1到表2)

不幸的是,我相信它们是,但是连接语法更难阅读和维护

我知道使用MSSQL,这两种连接方法之间没有性能差异,但哪一种更容易理解

SELECT table1.id, table2.id,* 
FROM table1, table2 
WHERE table1.id = table2.id


SELECT 
 table1.id, 
 table2.id,
 * 
FROM table1
   INNER JOIN table2 
     ON table1.id = table2.id

不幸的是,我相信它们是正确的,但是连接语法更难阅读和维护

我知道使用MSSQL,这两种连接方法之间没有性能差异,但哪一种更容易理解

SELECT table1.id, table2.id,* 
FROM table1, table2 
WHERE table1.id = table2.id


SELECT 
 table1.id, 
 table2.id,
 * 
FROM table1
   INNER JOIN table2 
     ON table1.id = table2.id

从吝啬鬼杰克开始

SELECT 
    table1.id, 
    table2.id,
    * 
FROM
    table1
    INNER JOIN 
    table2 ON table1.id = table2.id
WHERE
    table1.column = 'bob'

SELECT table1.id, table2.id,* FROM table1, table2 WHERE table1.id = table2.id and table1.column = 'bob'
接头在哪里?过滤器在哪里


连接还强制执行一些规则和基本检查:更容易避免交叉连接或部分交叉连接

从StingyJack开始

SELECT 
    table1.id, 
    table2.id,
    * 
FROM
    table1
    INNER JOIN 
    table2 ON table1.id = table2.id
WHERE
    table1.column = 'bob'

SELECT table1.id, table2.id,* FROM table1, table2 WHERE table1.id = table2.id and table1.column = 'bob'
接头在哪里?过滤器在哪里


联接还强制执行一些规则和基本检查:更容易避免交叉联接或部分交叉联接

是的,您显示的查询使用符合SQL92的语法。我的吉姆·梅尔顿和艾伦·R·西蒙的“”副本证实了这一点

为了向后兼容SQL89,SQL92仍然支持使用逗号语法的联接。 据我所知,所有SQL实现都支持逗号语法和
JOIN
语法联接


在大多数情况下,SQL实现知道如何优化它们,以便它们在语义(即,它们产生相同的结果)和性能上相同。

是的,您显示的查询使用符合SQL92的语法。我的吉姆·梅尔顿和艾伦·R·西蒙的“”副本证实了这一点

为了向后兼容SQL89,SQL92仍然支持使用逗号语法的联接。 据我所知,所有SQL实现都支持逗号语法和
JOIN
语法联接


在大多数情况下,SQL实现知道如何优化它们,使它们在语义(即,它们产生相同的结果)和性能上相同。

是的。。。我觉得很懒,没有给出更详细的答案。谢谢是 啊我觉得很懒,没有给出更详细的答案。谢谢