Sql 在这种情况下使用JOIN有什么意义?

Sql 在这种情况下使用JOIN有什么意义?,sql,sqlite,Sql,Sqlite,以下两者之间的区别是什么: SELECT * FROM table_name1, table_name2 WHERE table_name1.t2_id = table_name2.id; 及 ? 注意:t2\u id是table\u name1的外键,它保存table\u name2的主键(id)的值 我的意思是,这两个不同的查询都返回相同的结果。如果它们返回相同的值,那么使用JOIN有什么意义 P> S.:请考虑我是SQL初学者。一般认为比较可读,尤其是当你加入很多表格的时候。我们可以

以下两者之间的区别是什么:

SELECT * 
FROM table_name1, table_name2 
WHERE table_name1.t2_id = table_name2.id;

?

注意:
t2\u id
table\u name1
的外键,它保存
table\u name2
的主键(
id
)的值

我的意思是,这两个不同的查询都返回相同的结果。如果它们返回相同的值,那么使用
JOIN
有什么意义


P> S.:请考虑我是SQL初学者。

一般认为比较可读,尤其是当你加入很多表格的时候。我们可以找出两个表中哪些列是相同的。两个表的连接结果返回两个列匹配结果的筛选器。这实际上可以根据查询的设置方式更改查询结果


其中-是两个表之间的关系模型

通常认为JOIN更具可读性,尤其是当您连接许多表时。我们可以找出两个表中哪些列是相同的。两个表的连接结果返回两个列匹配结果的筛选器。这实际上可以根据查询的设置方式更改查询结果


其中-是两个表之间的关系模型

连接符号是ANSI 92标准,符号是ANSI 89标准。您希望遵循较新的标准还是继续传播旧标准?此外,在开发新的SQL时,
符号通常是不受欢迎的,因为它没有遵循大约25年前设置的标准。许多人表示,连接符号更易于后续个人阅读/维护;有助于减少在交叉联接中忘记联接条件而导致的问题。想象一下,连接6个表,每个表的键中有3个值,并且有限制。现在保持where子句删除一个表。两者都是正确的,请参考这一点,没有任何区别。第一种表示法使查询更具可读性,并且看起来非常清楚哪个连接对应于哪个条件。您可以在旧语法中书写。感谢您的快速回复!我得到了它!而且
JOIN
的性能更好,对吗?顺便说一句,多亏了@fancyPants,我才发现我的问题可能是重复的!在发布问题之前,我应该做更多的研究。并且考虑:但是要回答问题。其中一个在from中有一个
。另一个使用关键字
join
,一个有
where
子句,而另一个有
ON
子句。任何好的编译器都会产生相同的执行计划;因此,同样的表现。这是双方都有争议的话题之一。我更喜欢使用当前的标准。连接符号是ANSI 92标准,连接符号是ANSI 89标准。您希望遵循较新的标准还是继续传播旧标准?此外,在开发新的SQL时,
符号通常是不受欢迎的,因为它没有遵循大约25年前设置的标准。许多人表示,连接符号更易于后续个人阅读/维护;有助于减少在交叉联接中忘记联接条件而导致的问题。想象一下,连接6个表,每个表的键中有3个值,并且有限制。现在保持where子句删除一个表。两者都是正确的,请参考这一点,没有任何区别。第一种表示法使查询更具可读性,并且看起来非常清楚哪个连接对应于哪个条件。您可以在旧语法中书写。感谢您的快速回复!我得到了它!而且
JOIN
的性能更好,对吗?顺便说一句,多亏了@fancyPants,我才发现我的问题可能是重复的!在发布问题之前,我应该做更多的研究。并且考虑:但是要回答问题。其中一个在from中有一个
。另一个使用关键字
join
,一个有
where
子句,而另一个有
ON
子句。任何好的编译器都会产生相同的执行计划;因此,同样的表现。这是双方都有争议的话题之一。我更喜欢使用当前的标准。
SELECT * 
FROM table_name1 
   JOIN table_name2 ON table_name1.t2_id = table_name2.id;