PHP 和 SQL:在此查询中,“am”和“w”是什么意思


PHP and SQL: what do the 'am' and 'w' mean in this query?

我这里有一个关于这个PHP函数的快速问题。SELECT 查询后的am是什么?另外,w在此查询中是什么意思?

function download_redirect_torrent($winner_id)
{
    global $db, $setts;
    $output = array('url' => null, 'redirect' => false, 'display' => null);
    $winner_id = intval($winner_id);
    $media_details = $db->get_sql_row(
        "SELECT 
            am.*, w.is_dd, w.dd_active, w.dd_active_date 
        FROM  
            " . DB_PREFIX . "auction_media am, " . DB_PREFIX . "winners w 
        WHERE 
            am.auction_id=w.auction_id AND w.winner_id=" . $winner_id . " AND am.media_type=4"
    );
}

amw 是表别名,实际上是本地化到此查询的表名的缩写。

它们指定在:

FROM 
    " . DB_PREFIX . "auction_media am, " . DB_PREFIX . "winners w WHERE

有些人会在表名和别名之间放置一个 AS。

你指的是MySQL别名。

winners w ,这里w代表获奖者表

所以与其写:

winners.is_add, winners.dd_active_date

你可以简单地写:

w.is_add, w.dd_active_date

auction_media am也是如此.

这里的w.am.是表winnersauction_media的别名。让我们假设两个表中是否有任何相同的字段,并且我们正在显示这一点,因此此别名将有助于区分它们。

谢谢

amauction_media talbe 的别名,wwinner表的别名。基本上我在查询中指定要从中查询的表。在联接查询中,为了避免两个表中的字段之间发生任何冲突,最好使用表名,而别名只是使较长的表名更容易的一种方式。