空格字符在MySQL查询中是什么意思?

空格字符在MySQL查询中是什么意思?,mysql,sql,Mysql,Sql,无法理解如何读取下面的查询以及它们之间空格字符的用法 SELECT `product`.`id` AS `product_id`, `order_date_meta`.`meta_value` AS `enrollment_date` FROM `$wpdb->posts` `product` INNER JOIN `$wpdb->term_relationships` `term_rel` ON `term_rel`.`object_id` = `product`.`ID` INN

无法理解如何读取下面的查询以及它们之间空格字符的用法

SELECT `product`.`id` AS `product_id`, `order_date_meta`.`meta_value` AS `enrollment_date`
FROM `$wpdb->posts` `product`
INNER JOIN `$wpdb->term_relationships` `term_rel` ON `term_rel`.`object_id` = `product`.`ID`
INNER JOIN `$item_meta` `product_type_item_meta` ON `product_type_item_meta`.`meta_key` = '_product_id'
    AND `product_type_item_meta`.`meta_value` = `product`.`ID`
INNER JOIN `$items` `item` ON `item`.`order_item_id` = `product_type_item_meta`.`order_item_id`
INNER JOIN `$wpdb->posts` `order` ON `order`.`ID` = `item`.`order_id`
    AND `order`.`post_status` IN ('wc-completed', 'wc-processing', 'wc-partially-paid')
INNER JOIN `$wpdb->postmeta` `order_customer_meta` ON `order_customer_meta`.`post_id` = `order`.`ID`
INNER JOIN `$wpdb->postmeta` `order_date_meta` ON `order_date_meta`.`meta_key` = '_completed_date'
    AND `order_date_meta`.`post_id` = `order`.`ID`
WHERE `term_rel`.`term_taxonomy_id` = '$termId'
AND `product`.`post_status` = 'publish'
AND `product_type_item_meta`.`order_item_id` = `item`.`order_item_id`
AND `order_customer_meta`.`meta_key` = '_customer_user'
AND `order_customer_meta`.`meta_value` = '$userId'
ORDER BY `order_date_meta`.`meta_value` DESC
例如,在第4行中,
$wpdb->term_relation
term_rel
之间的空格是什么意思? 或者是
$wpdb->postmeta
订单\客户\元数据
之间的空格? 不能用谷歌搜索它,因为你可以找到如何在查询中告诉谷歌我对这个空间的意思:)

是一个表名别名

INNER JOIN `$wpdb->term_relationships` `term_rel` ON `term_rel`.`object_id` = `product`.`ID`
是在SQL中使用另一个通常较短的引用对象名称的方法

正如你在声明后看到的:

 `$wpdb->term_relationships` `term_rel`
$wpdb->term_relationships
的引用基于别名:

 ON `term_rel`.`object_id`

空间只需要用于分隔对象名称和相应别名的语法。

您似乎在问这个问题:

FROM `$wpdb->posts` `product`
--------------------^
这里的重点不是“空间角色”。它是表名后面的字符串。此字符串是表别名。表别名用于引用
FROM
FROM子句中的表

在很多情况下,它们都是装饰性的——尽管我强烈建议使用它们。我通常更喜欢非常短的表别名,它们是表名的缩写。在这种情况下,我更喜欢
p
。然后使用别名来限定列名,因此很清楚列来自哪些表

但是,在某些情况下,它们是必需的——即在
联接
或相关子查询中多次使用同一个表时。在这种情况下,别名可以区分对同一表的不同引用


如果没有提供明确的别名,那么表名本身就是默认别名。

简短回答:它在
FROM
子句中用作别名