有2张表:
如图,
关联关系为:
B.pil_id = A.id
B.stu_id = A.id
B.tea_id = A.id我要如何用sql语句把B表pil_id、stu_id、tea_id对应的名字都查询出来array(0 => 
          array(
               '1' => '张三',
               '2' => '李四',
               '3' => '王五'
          )

phpmysql连接查询左连接

解决方案 »

  1.   

    select A.* from A, B where A.id=B.pil_id or A.id=B.stu_id or A.id=B.tea_id
      

  2.   


    这里为什么不用left join,好像这样写效率不高,产生两倍的笛卡儿积什么的
      

  3.   

    这是逗号连接,是 INNER JOIN 的别名
    内连接产生最小的结果集左链接(left join)的结果集不会小于左表
    这里为什么不用left join,好像这样写效率不高,产生两倍的笛卡儿积什么的
      

  4.   


    这里为什么不用left join,好像这样写效率不高,产生两倍的笛卡儿积什么的那我说的两倍笛卡儿积的写法是怎样的,举个例子。
      

  5.   

    那就要问你了所谓笛卡尔积,通俗点说就是指包含两个集合中任意取出两个元素构成的组合的集合。假设R中有元组M个,S中有元组N个,则R和S的笛卡尔积中包含的元组数量就是M*N。你还来了个“两倍”!?