Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 自然连接语法_Sql_Natural Join - Fatal编程技术网

Sql 自然连接语法

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的主要问题是,它使用具有相同名称的列,而不是正确声明的外键关系。第二个问题是键不在查询中,这使得问题很难调试。

17:16:44失败[选择*-0行,0.023秒][代码:102,SQL 州:42000]Nähe von“teachs”中的Falsche语法


我真的没有看到语法错误,这可能是什么问题?提前谢谢

不要使用
自然连接
。显然,您有一个不支持它的数据库。因此,请使用显式
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