使用左连接重写mysql子查询
我有一张这样结构的桌子:使用左连接重写mysql子查询,sql,mysql,Sql,Mysql,我有一张这样结构的桌子: 液体 希德 所有整数。此表模拟两个用户之间的友谊 我想做的就是找到只存在于一个方向的记录 例如: 当没有t2.s_id=15和t2.u_id=t1.s_id的记录时,我想找到t1.u_id=15的记录数 所以两个ID之间的关系只存在一次 在我看来,我已经成功地用子查询编写了正确的查询,但随后我开始使用左连接重写查询以提高速度,而现在…它不起作用了 我现在的问题是: SELECT * FROM `friends` AS f1 LEFT JOIN `friends` A
- 液体
- 希德
SELECT * FROM `friends` AS f1 LEFT JOIN `friends` AS f2
ON f1.user_id = f2.friend_id
WHERE f1.friend_id=15 AND f2.user_id IS NULL
但它不起作用。请帮忙
注意。我使用的是mysql 5,所以除了语句和所有其他好东西外,我不能使用它。这个怎么样
SELECT *
FROM `friends` AS f1
LEFT JOIN `friends` AS f2 ON f1.user_id = f2.friend_id AND f1.friend_id = f2.user_id
WHERE f1.friend_id=15
AND f2.user_id IS NULL
这个呢
从friends
f1中选择*
左键连接f1上的朋友f2。用户id=f2。朋友id
其中f1.friend_id=15,f2.user_id为空我猜你发现了记号的作用:)解释一下它是如何工作的?记录它发现它不应该或反之亦然?