【问题标题】:Variables in SQL queriesSQL 查询中的变量
【发布时间】:2019-02-23 02:47:11
【问题描述】:

在下面的查询中,我注意到这些命名变量 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
 ";

【问题讨论】:

    标签: php mysql wordpress


    【解决方案1】:

    它们是表别名,并且(通常)提供了一种在查询中引用表的简写方式。在您的查询中,名称为$wpdb->posts 的表现在称为wposts,而名为$wpdb->postmeta 的表现在称为wpostmeta。请注意,一旦您声明了别名,您必须使用该别名引用表,因此在您的查询中您引用了 wposts.*、wpostmeta.meta_value 等。

    请注意,您还可以有列别名,例如:

    SELECT SUM(x) AS total FROM t1
    

    另请注意,我在上面的列选择中显示的AS 关键字是可选的,可用于表和列别名。

    您可以阅读有关别名here 的更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-09
      相关资源
      最近更新 更多