提问者:小点点

MySql查询在3个表上交叉


Sailor(sid,sname,rating,age)
Boat(bid,bname,color)
Reserve(sid,bid day)

找到那个预定红绿船的水手了吗?相交

我知道intersect在mysql中不起作用,所以我正在寻找替代方案


共1个答案

匿名用户

除了intersect之外,还有很多方法。您可以使用联接、子查询而不是intersect。下面是EQUI JOIN查询,这是刚刚提示找到预订红绿船的水手,看完评论链接后可以应用最好的:

SELECT s.* 
FROM Sailor as s,
     Boat as b,
     Reserve as r   
WHERE 
    s.sid = r.sid AND 
    b.bid = r.rid AND 
    b.color LIKE 'red' AND 
    b.color LIKE 'green