我如何将这个子查询作为连接?
How do I put this sub query just as join?
select m.m_name, p.place_town
from musician m
inner join place p
on m.born_in = p.place_no
where m.born_in = (select m.born_in from musician m where m.m_name = 'James First') and
m.m_name != 'James First'
您可以用自连接替换子查询:
select m.m_name, p.place_town
from musician m
inner join place p
on m.born_in = p.place_no
inner join
(
select m.born_in
from musician m
where m.m_name = 'James First'
) t
on m.born_in = t.place_no
where m.m_name != 'James First'
select m.m_name, p.place_town
来自音乐家 m
内部连接位置 p
在 m.born_in = p.place_no
内部联接
(
select m.born_in
来自音乐家 m
其中 m.m_name = 'James First'
) 作为吨
在 t.born_in = p.place_no
其中 m.m_name != 'James First'
select m.m_name, p.place_town
from musician m
inner join place p
on m.born_in = p.place_no
where m.born_in = (select m.born_in from musician m where m.m_name = 'James First') and
m.m_name != 'James First'
您可以用自连接替换子查询:
select m.m_name, p.place_town
from musician m
inner join place p
on m.born_in = p.place_no
inner join
(
select m.born_in
from musician m
where m.m_name = 'James First'
) t
on m.born_in = t.place_no
where m.m_name != 'James First'
select m.m_name, p.place_town
来自音乐家 m 内部连接位置 p 在 m.born_in = p.place_no 内部联接 ( select m.born_in 来自音乐家 m 其中 m.m_name = 'James First' ) 作为吨 在 t.born_in = p.place_no 其中 m.m_name != 'James First'