首页 > 解决方案 > 卡住 SQL 查询需要指导

问题描述

我是学习 SQL 的初学者,谁能帮我做一个 SQL 查询:

两个故事:

用户两列:

汽车

我需要一个返回两列 id 和garage 的 select 语句,考虑到用户 id 和他们的汽车去服务的车库名称。如果汽车表中缺少用户的汽车,则车库列应包含“Missing”。返回按用户 id 排序的表

用户表

id  car
1   Lamborghini Diablo
2   Ford Raptor
3   Ferrari Testarossa
4   Porsche 911 Carrera
5   Jensen Interceptor

汽车表

Car                      Garage
Lamborghini Diablo      Auto Tek
Porsche 911 Carrera     Auto Tek
Ferrari Testarossa      Automotive Depot
Ford Raptor             Dentworks

输出:

1   Auto Tek
2   Dentworks
3   Automotive Depot
4   Auto Tek
5   Missing

标签: sqljoinleft-join

解决方案


我会在这里使用左反加入:

SELECT
    u.id,
    COALESCE(c.Garage, 'Missing') AS Garage
FROM Users u
LEFT JOIN Cars c
    ON c.Car = u.car;

下面演示链接的屏幕截图

演示


推荐阅读