Sql 为什么JOIN语句中的语法错误?

Sql 为什么JOIN语句中的语法错误?,sql,sqlite,Sql,Sqlite,我有一个带有where和join的简单SQL查询。我尝试执行此命令: 从健身房服务中选择*其中健身房id=?在服务上加入服务\u id=id。这个由代码中的值确定: persistent.transaction(tx => { tx.executeSql('SELECT * FROM gym_service WHERE gym_id = ? JOIN services ON service_id = id', [gym.id], (t, s)

我有一个带有where和join的简单SQL查询。我尝试执行此命令:
从健身房服务中选择*其中健身房id=?在服务上加入服务\u id=id
。这个由代码中的值确定:

persistent.transaction(tx => {
            tx.executeSql('SELECT * FROM gym_service WHERE gym_id = ? JOIN services ON service_id = id', [gym.id],
            (t, s) => {
                console.log(s)
            }, (t, e) => {
                console.log(e)
            })
        })
然而,我总是遇到这样一个奇怪的错误:
error code 1:near“JOIN”:syntax error


我相信一切都做得很好,我的代码有什么问题吗?

您必须在from子句中指定连接

SELECT *
FROM 
    gym_service g
    INNER JOIN services s ON g.service_id = s.id
WHERE
    g.gym_id = ?

请参阅:

加入表后应使用WHERE子句

对于连接表,根据需要使用内部连接、左侧连接、右侧外部连接

以下查询将满足您的上述要求

选择*
来自健身房服务
gs.service_id=s.id上的内部联接服务

其中gs.gym_id=?

JOIN
FROM
子句中的运算符<代码>其中是在
FROM
子句之后的一个子句。您必须首先阅读如何提问,请参见
SO
。第一点是:“搜索和研究”。您应该能够在此网站上看到搜索字段。