mysql - 使用左连接限制查询
mysql - Limit a query with left join
我有 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 person LEFT JOIN vehicle ON person.id=vehicle.owner LIMIT 10;
这个 SO 也可以派上用场。希望这对您有所帮助!
没试过,但是是这样的:
SELECT * FROM person
LEFT JOIN vehicle ON person.id = vehicle.owner
WHERE person.id IN (SELECT ID FROM PERSON LIMIT 3);
可能有助于子查询
SELECT
*
FROM
(SELECT * FROM person LIMIT 3) t
LEFT JOIN vehicle ON t.id = vehicle.owner
我有 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 person LEFT JOIN vehicle ON person.id=vehicle.owner LIMIT 10;
这个 SO 也可以派上用场。希望这对您有所帮助!
没试过,但是是这样的:
SELECT * FROM person
LEFT JOIN vehicle ON person.id = vehicle.owner
WHERE person.id IN (SELECT ID FROM PERSON LIMIT 3);
可能有助于子查询
SELECT
*
FROM
(SELECT * FROM person LIMIT 3) t
LEFT JOIN vehicle ON t.id = vehicle.owner