1

我正在做Web开发人员的实习,我有点新,我在这里询问您的经验以澄清我的疑问;当我在其他人制作的网站上工作时,我发现了这个查询:

$query = "SELECT a.upload_date, a.zipfile, a.lang, b.*
          FROM something_uploadform as a , something2_stayinformed as b
          WHERE a.uid_head =b.uid and a.zipfile<>'' order by ".$orderby." desc";

谁能帮我理解它?我以为这段代码会选择一条记录并将其附加到 a 上,不是吗?

谢谢大家。

4

2 回答 2

4

在较高级别上,此查询JOIN对两个表执行隐式操作。让我们分解一下:

数据来自两个表(AS给表一个别名):

  • something_uploadform作为“a”(此表现在称为a
  • something2_stayinformed作为“b”(此表现在称为b

被选中的列:

  • a.upload_date
  • a.zipfile
  • a.lang
  • b.*(表中的所有列b

这些表正在列上连接:

  • a.uid_head = b.uid

正在应用的过滤器:

  • a.zipfile <> ''(该列zipfile不为空)

应用的排序:

  • $orderby DESC(传递的变量,按降序排序)
于 2013-10-02T13:35:01.087 回答
1

something_uploadform as a定义a为别名,something_uploadform因此您不必在选择列时指定完整的表名。

于 2013-10-02T13:34:44.320 回答