【问题标题】:Joining two tables with FULL JOIN使用 FULL JOIN 连接两个表
【发布时间】:2014-02-03 05:45:54
【问题描述】:

我有两张桌子master1master2

insert into master1 
(name,address,books,laptop,id,college) values
(ratan,mg road,rajbook,hp,id334,xxx)
(sham,r t nagar,malbook,ibm,id335,xxx)
(ram,shiva road,kalbook,hp,id336,xxx)
(farooq,uday road,rabook,hp,id337,xxx)
(sharukh,kr road,kambook,sony,id338,xxx)

insert into master2
(nam,lappy,idd,coll) values
(ratan,hp,877,ratan college)
(ram,sony,877,ram college)

我想要:

select name, address, books, laptop, id, college, nam, lappy
  from master1 LEFT JOIN master2
 where master1.college=master2.coll

输出应该是:

(name,address,books,laptop,id,college,nam,lappy
(ratan,mg road,rajbook,hp,id334,xxx,keshav,hp)
(sham,r t nagar,malbook,ibm,id335,xxx,null,null)
(ram,shiva road,kalbook,hp,id336,xxx,null.null)
(farooq,uday road,rabook,hp,id337,xxx,null,null)
(sharukh,kr road,kambook,sony,id338,xxx,ram,sony)

【问题讨论】:

  • 问题是什么?
  • 您显示了一个没有 ON 或 USING 子句的 LEFT JOIN;你需要添加一个。标题中提到 FULL JOIN 的原因是什么?它似乎与您想要的输出无关。

标签: mysql sql join


【解决方案1】:

WHERE 不正确,而您缺少 ON 部分 JOIN 子句。

select name,address,books,laptop,id,college,nam,lappy
from master1
left join master2 on master1.college = master2.coll

【讨论】:

  • 感谢您的回复,对我有帮助
【解决方案2】:

使用ON

SELECT name,address,books,laptop,id,college,nam,lappy
FROM master1
LEFT OUTER JOIN master2
ON master1.college = master2.coll

【讨论】:

    【解决方案3】:
    Select name
          ,address
          ,books
          ,laptop
          ,id
          ,college
          ,nam
          ,lappy
    From master1
    LEFT JOIN master2 ON 
          master1.college=master2.coll
    

    你的左连接是错误的,我的格式是这样的

    Joins Tutorial

    LEFT JOIN and RIGHT JOIN Optimization

    你的输出如下

    Working SQL Fiddle

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-18
      • 2015-05-16
      • 2019-01-27
      • 1970-01-01
      • 2020-04-19
      • 1970-01-01
      相关资源
      最近更新 更多