从 SELECT 查询中删除 JOIN

Removing JOIN from SELECT query

我有一个包含 INNER JOIN 的 SELECT 查询。我正在寻找一种方法来创建相同的查询但没有任何类型的 JOIN。这是我当前的查询;

SELECT loan.duedate, loan.no, student.name FROM loan INNER JOIN student ON loan.no = student.no ORDER BY loan.duedate DESC LIMIT 1

这可能吗?我该如何创建它?

忽略 'why' 你会想这样做,只是将其作为一个测验问题来处理,如果 JOIN 是 1:1,你可以使用子 select 而不是 JOIN ;

SELECT 
    loan.duedate, 
    loan.no, 
    (SELECT student.name FROM student WHERE student.no = loan.no) AS name 
FROM 
    loan
ORDER BY 
    loan.duedate DESC 
LIMIT 1

转换起来很简单,但 Inner Join 更有意义。

SELECT loan.duedate, loan.no, student.name 
FROM loan l,
student s 
Where l.no = s.no
ORDER BY l.duedate DESC 
LIMIT 1