sql - 这两个 SQL 查询有什么区别?

标签 sql database postgresql inner-join

<分区>

这两个 SQL 查询有什么区别?

查询#1:

select mytab.name, mytab.age, films.title, films.author 
from films, mytab 
where films.id = mytab.id;

查询#2:

select mytab.name, mytab.age, films.title, films.author 
from films inner join mytab 
on films.id = mytab.id;

首先是使用“where”语句的普通 SQL 查询。第二种是使用内部连接。两个查询的结果完全一样。

films -> id, title author
mytab -> id, name, age

这是最糟糕的例子。

这是类比的例子: http://www.w3schools.com/sql/sql_join_inner.asp

最佳答案

两个查询将产生相同的结果,但唯一的区别在于语法,

第一个查询使用旧语法进行连接,您在 WHERE 子句中描述关系。

第二个查询使用较新的 ANSI 语法,其中表之间的关系在 ON 子句中定义。

虽然第二种语法是首选。

Read Here获取更多信息。

关于sql - 这两个 SQL 查询有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21212157/

相关文章:

php - Laravel 5 php artisan create_users_table 不创建模板

java - 如何从 configuration.buildSessionFactory (PSQL) 捕获密码错误?

python - SqlAlchemy - PostgreSQL - 连接错误信息的 session

mySQL 查询在数据库中的所有表中搜索字符串?

mysql - 如何在 Mysql 中计算 Count(*) 的总和

sql - 在 SQL 中使用 distinct 函数

php - 如何使用 php 将 MySQL 数据类型名称转换为正则表达式?

sql-server - 无法使用 Netbeans 连接到 Sql Server 数据库

来自 SQLite 的 Android 游标在方法调用时崩溃

python - 手动转义原始 SQL 的字符串