"SELECT * from posts A, categories B where A.active='1'
AND A.category=B.CATID order by A.time_added desc
limit $pagingstart, $config[items_per_page]";
我认为它说从'posts'表中选择行,这样每行中的活动条目等于1但我不理解其余的。请解释。谢谢。
答案 0 :(得分:4)
它从帖子中选择列(用别名“A”表示),并为每个帖子选择与类别(称为“B”)相关联的列,其中:
我不确定这是什么牌子的SQL,因为我不认识限制语句或$变量,但这就是要点。
答案 1 :(得分:1)
你会得到行
类别和CATID匹配的位置(维恩图的“交叉点”)
A的行被过滤为Active = 1
按time_added排序。最新的
limit表示第x行的y行startig。 x和y由排序
答案 2 :(得分:1)
posts A, categories B
就是所谓的“隐式JOIN
”。它会返回A
和B
的所有可能记录组合,这些记录稍后会被WHERE
条件过滤。
显式连接语法更具可读性:
SELECT *
FROM posts A
JOIN categories B
ON B.CATID = A.category
WHERE A.active='1'
ORDER BY
A.time_added DESC
LIMIT $pagingstart, $config[items_per_page]
这意味着:“对于A
中的每条记录,请记录B
与catid
类别相同的A
的所有记录。
ORDER BY A.time_added DESC
让您的帖子从最新到最早返回。
LIMIT 100, 10
使查询仅返回从100th
到110th
的帖子。
答案 3 :(得分:0)
看起来这是尝试选择所有活动的帖子,在顶部订购最新的帖子,并限制适合页面的记录数量。 A.active='1'
的语义可能意味着帖子是活跃的,但我猜是。
用PHP看起来像MySQL。
答案 4 :(得分:0)
这会从posts
和categories
中选择条目,并将posts.category=categories.CATID
加在一起。它会过滤掉posts.active!=1
的所有行,然后按posts.time_added
降序排序,最多从$config[items_per_page]
开始返回$pagingstart
项。
答案 5 :(得分:0)
它首先选择所有活动帖子(及其类别)。但是,它具有分页机制,因此它仅显示从$config[items_per_page]
开始的$pagingstart
个帖子。
答案 6 :(得分:0)
从posts表和categories表中选择行,按类别ID加入单个表(使用我称之为懒惰的连接,但这可能只是我的意见,我不是真正的数据库人) ,按添加时间的降序排序,仅显示$ pagingstart开头的$ items_per_page记录。
答案 7 :(得分:0)
它选择表帖子和类别中的所有列,其中posts.active等于1,其中 posts.category加入categories.catid ,这是按posts.time_added排序的限制开始和end由两个变量$ pagingstart,$ config [items_per_page]
设置答案 8 :(得分:0)
它说:
1)从Posts
&中选择所有内容Categories
其中Posts.Active = 1
和Posts.Category = Category.CATID
。
2)Order by
语句然后指定它们应该首先显示(从上到下)最新的Post.Time_Added
。
3)最后,limit
子句说(我认为,我不经常使用limit
):只抓取$spagingstart
(某个点已设置的变量)的数量项目,一次只显示$config[items_per_page]
。