34,590
社区成员
发帖
与我相关
我的任务
分享
SELECT A.name, A.No,C.Sex,C.Heigh,d.tag FROM A left join C on A.No = C.No join d on a.no=d.no
Where A.No in (select distinct No from B)
[/quote]
非常感谢,这样可以了。但我又发现我前面还没描述完整。
还要用到一个表D,假如表D中还有No 和 tag两列。我还想把表D中的tag也读取出来,该怎么操作呢?
也就是我要把A.name, A.No, C.Sex, C.Height, D.tag都读取出来。[/quote]
SELECT DISTINCT t1.No,t1.NAME,t3.sex,t3.height
FROM t1
JOIN t2 ON t1.No = t2.No
LEFT JOIN t3 ON t1.No=t3.No
SELECT a.NAME,
a.no,
c.sex,
c.height
FROM a
LEFT JOIN c ON a.no=c.no
WHERE exists (SELECT 1 FROM b WHERE a.no=b.no) --exists的效率比in高
关于exists和in的区别请看链接http://muyue123.blog.sohu.com/146930118.htmlSELECT A.name, A.No,C.Sex,C.Heigh FROM A left join C on A.No = C.No
Where A.No in (select distinct No from B)