在下面的查询中,我注意到了这些命名变量wposts, wpostmeta
,并且想知道它们的工作方式以及它们的名称(MySQL变量),因此我可以在MySQL文档中找到有关使用它们的更多信息。
这是一种简写形式,所以您不必每次都键入$wpdb->postmeta
还是还有其他用途?另外,我不了解SELECT wposts.*
没有名为wposts的Wordpress表,所以您从中选择什么?
https://codex.wordpress.org/Displaying_Posts_Using_a_Custom_Select_Query
$querystr = "
SELECT wposts.*
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
WHERE wposts.ID = wpostmeta.post_id
AND wpostmeta.meta_key = 'custom-key'
AND wposts.post_type = 'page'
ORDER BY wpostmeta.meta_value DESC
";
答案 0 :(得分:1)
它们是表别名,提供(通常)在查询中引用表的捷径。在您的查询中,名称为$wpdb->posts
的表现在称为wposts
,而名为$wpdb->postmeta
的表现在称为wpostmeta
。请注意,一旦声明了别名,就必须使用该别名引用表,因此在查询中,您将引用wposts.*
,wpostmeta.meta_value
等。
请注意,您还可以具有列别名,例如:
SELECT SUM(x) AS total FROM t1
还要注意,我在上面选择的列中显示的AS
关键字是可选的,可以用于表和列的别名。
您可以了解有关别名here的更多信息。