mysql - 使用左连接限制查询

标签 mysql left-join limit

我有 2 个这样的表:

table 上人

id | name
---------
1  | john
2  | mike
3  | carl
4  | keny
5  | anna

table 车

owner | vechicle
----------------
1     | RTA457
3     | GSW684
3     | GKI321
3     | SNE798
5     | YTT662

所以,我想进行一个连接两个表的查询,如下所示:

SELECT * FROM person LEFT JOIN vehicle ON person.id=vehicle.owner

得到这些结果

id | name | owner | vechicle
----------------------------
1  | john | 1     | RTA457
2  | mike | NULL  | NULL
3  | carl | 3     | GSW684
3  | carl | 3     | GKI321
3  | carl | 3     | SNE798
4  | keny | NULL  | NULL
5  | anna | 5     | YTT662

最后,我想限制3个人,展示他们所有的车辆,像这样:

id | name | owner | vechicle
----------------------------
1  | john | 1     | RTA457
2  | mike | NULL  | NULL
3  | carl | 3     | GSW684
3  | carl | 3     | GKI321
3  | carl | 3     | SNE798

有什么办法吗?

最佳答案

可能有助于子查询

SELECT
    *
FROM
    (SELECT * FROM person LIMIT 3) t
LEFT JOIN vehicle ON t.id = vehicle.owner

关于mysql - 使用左连接限制查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41023867/

相关文章:

mysql - 从表 A 中选择全部,从表 B 中选择一列 - LEFT JOIN

concurrency - AWS Athena 并发限制 : Number of submitted queries VS number of running queries

php - 如何限制用户每天可以发布的评论或回复评论的数量

mysql - 使用 MySQL 触发器插入或更新行

mysql - 左外连接、WHERE 子句和 COALESCE

php - 不使用表单传递或发布输入值

php - 如何在多个左连接中使用多个分组依据并按时间戳对它们进行排序?

sql-server - 使用 Contains() 时达到 2100 个参数限制 (SQL Server)

mysql - 用于将人员存储在 MySQL(或任何数据库)中——多张表还是只有一张?

mysql事务(提交和回滚)