快速的棕色狐狸跳过懒狗。
答案 0 :(得分:2)
第一步是分离不同的实体:
这些是你的桌子。我们使用数字ID链接'他们(外键),因为它允许我们更改名称而不更改链接,因为使用固定大小实体的索引执行得更快。因此,我们得到表格的列,如下所示:
现在举例说明如何检索有用信息。连接部分有额外的缩进:
列出笔记本电脑的当前状态
SELECT l.*, s.shortName
FROM laptops l JOIN states s
ON l.currentState = s.stateId
与上面相同,使用WHERE而不是JOIN
SELECT l.*, s.shortName
FROM laptops l, states s
WHERE l.currentState = s.stateId
显示最近10个请求
SELECT l.laptopId, l.brand, r.*, p.firstName, p.surName, s.shortName
FROM requests r, laptops l, people p, states s
WHERE r.performedBy = p.personId
AND r.laptop = l.laptopId
AND r.requestState = s.stateId
ORDER BY r.requestDate DESC
LIMIT 0,10
总而言之,一旦我们正确识别了不同的实体,我们就可以使用外键将它们链接在一起,并使用这些链接编译我们需要的信息,并从不同的表中选择合适的列。
答案 1 :(得分:1)
如果您需要解释有什么加入以及它们有何不同 - the creator of SO has published a great article(最近被Sitepoint无耻地复制了),这应该可以让您了解它们。