加入语句/主键和外键

时间:2017-08-09 13:19:26

标签: mysql

我在处理停车的数据库上有一张ER图。 有一个用户表,汽车表,付款表和联系信息表。

enter image description here

我理解如何加入一对一的关系。但是,我们如何制作一个声明,返回用户所拥有的所有汽车的用户名(这在图中缺少,想象在userinfo表中)。 user_info和user_car之间存在太多关系。但并不要求用户也有车。它是可选的。

因此查询的结果应如下所示:

列出系统中所有用户的表,包括那些没有汽车的用户(NULL值)。是否可以通过用户名订购用户?

那么这样的结果需要什么样的查询?

我是MySQL新手,如果我做了任何错误的陈述,请纠正我。 非常感谢任何帮助。

预先感谢

1 个答案:

答案 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)...