Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 多个on和join_Mysql_Join - Fatal编程技术网

Mysql 多个on和join

Mysql 多个on和join,mysql,join,Mysql,Join,我学到了,我可以重写这样的查询 SELECT d FROM tbl1 WHERE a in ( SELECT b FROM tbl2 WHERE c = "Something" ) 进入我认为更快的查询: SELECT d FROM tbl1 LEFT JOIN tbl2 ON tbl1.a = tbl2.b WHERE tbl2.c = "Something" 但我有一个问题需要重写以下查询: SELECT name, nick FROM cu WHERE uid

我学到了,我可以重写这样的查询

SELECT d
FROM tbl1
WHERE a in (
    SELECT  b
    FROM tbl2
    WHERE c = "Something"
)
进入我认为更快的查询:

SELECT d
FROM tbl1 LEFT JOIN tbl2
ON tbl1.a = tbl2.b
WHERE tbl2.c = "Something"
但我有一个问题需要重写以下查询:

SELECT name, nick
FROM cu
WHERE uid IN (
    SELECT friend
    FROM cf
    WHERE user IN (
        SELECT uid
        FROM cu
        WHERE sid = "abc"
    )
)
编辑:


刚刚找到它:

这应该是等效的:

select cu.*
from cu join
     cf
     on cu.uid = cf.friend join
     cu cu2
     on cu2.uid = cf.user
where cu2.sid = 'abc';

请注意,此操作只需要内部联接。

这应该是等效的:

select cu.*
from cu join
     cf
     on cu.uid = cf.friend join
     cu cu2
     on cu2.uid = cf.user
where cu2.sid = 'abc';

请注意,这只需要内部联接。

刚刚找到解决方案。无论如何,谢谢你的快速回答:@Cubinator73。并排查看这两种解决方案有助于更好地理解不同的做事方式。祝你学习SQL好运。刚刚找到解决方案。无论如何,谢谢你的快速回答:@Cubinator73。并排查看这两种解决方案有助于更好地理解不同的做事方式。祝你学习SQL好运。