请问 SELECT main.*, field.* FROM uchome_blog main LEFT JOIN uchome_blogfield field ON field.blogid=main.blogid WHERE 1 AND main.hot >= '3' AND main.friend='0' ORDER BY main.dateline desc LIMIT 0,6  是什么意思 

解决方案 »

  1.   

    左连接uchome_blogfield 条件是field.blogid=main.blogid
    where子句 main.hot >= '3' AND main.friend='0'  1可以忽视,应该为拼凑where子句时用的
    order by 子句
      

  2.   

    LEFT JOIN...ON...左连接
    因为你的是两个表,表名有些长,所以为了好看就起了个别名main 和field,不过为了区分是那个表里的字段还是要这样写field.blogid  main.blogid等等
    main.* 是uchome_blog 表里的所有字段
    field.* 是uchome_blogfield表里的所有字段
      

  3.   


    PS:left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.
    换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例如: A.aID = B.bID).B表记录不足的地方均为NULL.
      

  4.   


    两张表的链接查询,估计楼主对SQL不熟 。跟你通俗的解释下吧。
    两张表的关系可以通过 field.blogid=main.blogid  可以看出来,一张表引用另一张表的ID做外键 。
    查询的字段就是两张表中的所有字段 ,从 SELECT main.*, field.* 可以看出来。
    接下来就是条件了 ,and就是并且得意思,查询出的数据要满足所有and连接的条件 。后面就是对查询结果进行排序了 。补充:就是楼上说的