你,c,s在下面的陈述中表示什么?
$stmt = $mysqli->prepare("SELECT
u.id,
u.rank,
c.country,
s.state_name,
u.share_to
FROM users u
LEFT JOIN country c ON c.id = u.country_id
LEFT JOIN state s ON s.id = u.state_id");
答案 0 :(得分:2)
在此查询中,它们作为表别名,可以在选择或连接表名后附加,否则如果两个表包含相同的列,则查询将不知道您指的是哪个表。
或者代替别名,您可以直接引用表名称,例如select users.id, users.rank
等。
但是,由于您使用的是c和s,因此此查询中缺少一些连接。
答案 1 :(得分:1)
您的书面查询未完成。
其中 u 被定义为作为用户表的别名,但没有其他表 c 和 s 在您的查询中。
u.id,
u.rank,
c.country,
s.state_name,
u.share_to
在u.rank
中定义排名字段是用户喜欢或其他的表格
更新您的问题后
“c”别名国家和“s”状态别名如果您不使用别名而不是需要使用tablename定义字段,则用于表示使用短名称的表
喜欢 tablename.fieldname
仅当您使用多个表来标识字段名称时才需要tablename.fieldname