Where 子句不能以任何不同的方式工作

Where clause not working in any different ways

我有这个代码:

Select  p_firstname, p_email
From    teacher as t  inner join borrowed as b
where t.p_id = b.p_id;

没有 where 子句也能完美运行。
一旦我添加它,它就会给出记录数:0 .
任何解决方案?我上传了一张图片

您只是想在 p_id 上尝试 INNER JOIN 两个 table 吗?如果是这样的话:

SELECT p_firstname, p_email FROM Teacher t
INNER JOIN Borrowed b ON t.p_id = b.p_id

如果你想要return来自老师table的所有记录,即使在借来的table中有空值p_id,使用LEFT JOIN 代替。

如果我没记错的话,因为您使用的是内部联接,而不是使用 Where t.p_id = b.p_id;,您需要使用 ON。例如:

SELECT p_firstname, p_email  
FROM teacher as t
INNER JOIN borrowed as b
    ON (t.p_id = b.p_id);

如果您需要更多信息,例如 name = "bob",然后您可以使用 WHERE 语句。试试我写的固定语句,如果有效请告诉我!

编辑:

如果 teacherborrowed 是两个独立的数据库,您也可以试试这个:

SELECT p_firstname, p_email
FROM teacher, borrowed
WHERE (teacher.p_id = borrowed.p_id);