mysql - 如何修复此 JOIN 查询?

标签 mysql sql

我有这个问题:

SELECT * 
FROM people 
JOIN pets ON people.id = pets.owner_id;

它返回有宠物的人的结果。但并不是所有人都养宠物。我希望查询返回 people 表中的所有人,如果他们碰巧有宠物也返回宠物。

但是由于宠物是可选的,我怎样才能让这个查询返回没有宠物的人呢?

最佳答案

使用LEFT JOIN

SELECT * 
FROM people 
LEFT JOIN pets ON people.id = pets.owner_id;

JOIN Explanation

在 SQL 中加入 enter image description here

关于mysql - 如何修复此 JOIN 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16447564/

相关文章:

php - 将一个变量除以另一个变量?

php - 如何制作多表到一张表的join语句?

sql - 在 MySQL 中加入多个不相关的表

java - 对于银行应用程序来说,SQL 事务或 Java 端事务哪个更好?

mysql - 将表结果显示到临时表 mysql

php - MySQL ROLLBACK 并与 PHP 一起使用

php - SELECT 语句返回第一行而不是查找的记录

sql - 这个SQL Server查询除法计算有什么问题?

php - 无法在 Laravel 迁移中添加外键约束

php - 使用选择框和 PHP 访问 MySql 数据库来获取选定的数据