语句“长”是因为要查询的结果表格比较“宽”。这个语句非常简单,不过是用3个表inner join 一下,这也叫表态,那么真正的数据库程序员随时都是在变态了。

解决方案 »

  1.   

    as是更名运算
    例如p.productid as productid,是指把p表中的productid属性更名为as后面的productid。(不过在这儿好像没什么意义)
    其实这条语句就是select productid ,productname ,supplierid ,s.companyname ,p.categoryid ,c.categoryname ,p.quantityperunit ,p.unitprice ,p.unitsinstock ,p.unitsonorder ,p.reorderlevel ,p.discontinued from products p inner join suppliers s on p.supplierid=s.supplierid inner join categories c on p.categoryid=c.categoryid这条查询语句是指:在products和suppliers以及categories三张表内连接的基础上,查询select后面,from前面哪些字段。三张表连接的条件是:p.supplierid=s.supplierid 和p.categoryid=c.categoryid
      

  2.   

    as 表示给表或者字段起个别名,不加as也可以,就象 producys P 一样。inner join是内连接,on表示连接条件。