我在处理停车的数据库上有一张ER图。 有一个用户表,汽车表,付款表和联系信息表。
我理解如何加入一对一的关系。但是,我们如何制作一个声明,返回用户所拥有的所有汽车的用户名(这在图中缺少,想象在userinfo表中)。 user_info和user_car之间存在太多关系。但并不要求用户也有车。它是可选的。
因此查询的结果应如下所示:
列出系统中所有用户的表,包括那些没有汽车的用户(NULL值)。是否可以通过用户名订购用户?
那么这样的结果需要什么样的查询?
我是MySQL新手,如果我做了任何错误的陈述,请纠正我。 非常感谢任何帮助。
预先感谢
答案 0 :(得分:0)
尝试这样的事情:
SELECT ui.username, uc.make, uc.model, uc.year, uc.license_plate
FROM user_info ui
LEFT JOIN user_car uc ON ui.user_id = uc.user_info_user_id;
这将显示来自user_info
的alluser,即使他们没有汽车,在汽车的列中显示NULL
。如果您想省略这些内容,只需从LEFT
移除LEFT JOIN
(或替换为INNER JOIN
)...