mysql - 加入与 mySQL 中的其他方法

标签 mysql sql

我完全是自学的,所以我的知识有明显的差距。当我需要能够从多个表中获取数据时,我学习了如何进行连接。例如,如果我需要凭证表中的凭证号、帐号和余额以及另一个表中的相应地址,我会这样做:

select v.voucherNbr, v.balanceInit, v.acctID, a.address, a.city from vouchers v
left join addresses a on v.acctID = a.id

这将返回所有凭证记录,以及恰好存在的任何地址(在这种情况下,即使没有相应的地址,我们也希望返回凭证记录,因此使用左连接。)

我最近继承了一些代码,这些代码似乎试图获取相同的数据(在这种情况下,它确实返回了正确的记录),它是这样的:

select v.voucherNbr, v.balanceInit, v.acctID, a.address, a.city from vouchers v, addresses a 
where v.acctID = a.id

任何人都可以向我解释这样做而不是使用连接的含义。正如我所说,在这种特殊情况下,它确实会返回与连接相同的数据,但它会始终如此吗?

最佳答案

它只是碰巧有相同的结果,但在某些时候它不会,因为你的查询有一个外连接,他们提供给你的语法是一个隐式的内连接。

http://en.wikipedia.org/wiki/Join_(SQL )

关于mysql - 加入与 mySQL 中的其他方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4326404/

相关文章:

sql - 比较 T-SQL Between 和 '<' '>' 运算符的性能差异?

php - 根据插入请求自动从 SQL 表中删除旧记录

php - 删除MYSQL表字段中的空格

php - 是否有任何应用程序可以检查 'what' 是否立即加载到网站上?

sql - 在 VB.NET 中从 SQL Server 执行存储过程?

c# - 使用 Entity Framework 的唯一主键

c# - 客户数据库还是统一数据库哪个更好?

java - 我应该允许 SQL WHERE 子句作为 REST API 参数,在 Internet 上可用吗?

mysql - 如何将图像上传到mysql数据库并在pug模板引擎中显示来自mysql数据库的图像?

mysql - 无法向 mysql 插入奇怪的文本