PHP和SQL:在这个查询中'am'和'w'是什么意思?

时间:2012-05-13 06:41:53

标签: php sql

我在这里有一个关于这个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"
    );
}

4 个答案:

答案 0 :(得分:5)

amw是表别名,有效缩写为本地查询的表名。

指定于:

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

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

答案 1 :(得分:4)

您指的是MySQL别名。

winners w,此处w代表获奖者表

所以不要写:

winners.is_add, winners.dd_active_date

你可以简单地写一下:

w.is_add, w.dd_active_date

auction_media am同样如此。

答案 2 :(得分:3)

此处w.am.是表格winnersauction_media的别名。假设两个表中都有相同的字段,我们正在显示,所以这个别名将有助于区分它们。

谢谢

答案 3 :(得分:2)

amauction_media talbe的别名,wwinner表的别名。基本上我在查询中指定要查询的表。在连接查询中,为了避免两个表中的字段之间发生冲突,最好使用表名,而别名只是使表名更长的方法。