前几天我在这里要求一个解决方案来检索一个查询,该查询从两个不同的表中获取值。这个问题被问得非常快,多亏了这个令人敬畏的社区...但是继续:我使用了查询并且它工作得很好,但我不理解它。查询如下:
SELECT e.*, u.Username
FROM Entries AS e
LEFT JOIN Users AS u ON u.ID = e.User
WHERE e.Category = 'SomeCategory'
LIMIT 0, 10
任何人都可以解释每个"步骤"查询呢? " WHERE"" LIMIT"" SELECT"和" FROM"我知道,但其他人对我来说相当复杂。
由于
编辑:LIMIT 10,0
已更改为LIMIT 0,10
。我用错误的方式写了...对不起。
答案 0 :(得分:4)
SELECT e.*, u.Username
FROM Entries AS e
LEFT JOIN Users AS u ON u.ID = e.User
WHERE e.Category = 'SomeCategory'
LIMIT 10, 0; -- are you sure about it???
工作原理:
Entries
表和"重命名"它到e
(添加别名)Users
表和"重命名"它到u
ID
的{{1}}列和Entries
的{{1}}列加入(外部)两个表格
(对于来自用户集User
)Users
列中的值等于NULL
Category
'SomeCategory'
和Entries
列的每一列
醇>
警告强>
如果没有显式Username
,您可以在执行之间获得不同的结果集。为什么要返回空结果集 Users
?
修改强>
编辑后5.应该先跳过0行并获得10行
ORDER BY
与LIMIT offset, row_count