Sql 自然连接语法
17:16:44失败[选择*-0行,0.023秒][代码:102,SQL 州:42000]Nähe von“teachs”中的Falsche语法Sql 自然连接语法,sql,natural-join,Sql,Natural Join,17:16:44失败[选择*-0行,0.023秒][代码:102,SQL 州:42000]Nähe von“teachs”中的Falsche语法 我真的没有看到语法错误,这可能是什么问题?提前谢谢 不要使用自然连接。显然,您有一个不支持它的数据库。因此,请使用显式join语法: SELECT* FROM student NATURAL JOIN teaches NATURAL JOIN的主要问题是,它使用具有相同名称的列,而不是正确声明的外键关系。第二个问题是键不在查询中,这使得问题很难调试。
我真的没有看到语法错误,这可能是什么问题?提前谢谢 不要使用
自然连接
。显然,您有一个不支持它的数据库。因此,请使用显式join
语法:
SELECT*
FROM student NATURAL JOIN teaches
NATURAL JOIN
的主要问题是,它使用具有相同名称的列,而不是正确声明的外键关系。第二个问题是键不在查询中,这使得问题很难调试。意外的键可能用于联接,而您甚至看不到它们是什么。明确说明您正在使用的键,方法是将它们包含在on
或using
子句中。您需要在select和*之间添加空格。我也尝试了使用空格,但它不起作用。我正在使用的服务器可能有问题,但语法是正确的。。我还试过在教学后使用“;”你用的是哪种产品?“SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加标签,postgresql
,oracle
,db2
,sqlserver
,…只需忘记自然连接构造。指定连接条件@最优googlesqltutorial@Optimal . . . 不可以。正确的JOIN
语法需要ON
或USING
子句(您的数据库可能不支持)。
SELECT . . .
FROM student s INNER JOIN
teaches t
ON s.studentId = t.studentId; -- I'm guessing what the keys are