有人可以告诉我如何在查询中使用WHERE选择多个表吗?
$sql = "SELECT * FROM leerlingen, leraren WHERE voornaam= '$username' AND password= '$password'";
因为此查询给出了错误
答案 0 :(得分:1)
SELECT table1.*,
table2.*
FROM table1
JOIN table2
ON table1.id = table2.table1_id
WHERE table1.field LIKE "Hello"
AND table2.field LIKE "World;
此查询应满足您的要求:从WHERE部分中具有不同条件的两个不同表中选择所有内容。 就像其他人所说的那样,请尝试始终使用显式的JOIN语法,因为它更具可读性和解释性。
由于您编写的代码不清楚,如果不这样做,我强烈建议您使用某种输入验证和转义符来防止SQL Injection。
答案 1 :(得分:0)
要在where子句中使用多个表,必须在这些表之间使用联接
select le.*,l.* from leerlingen le join leraren l on le.col=l.col
where l.col1=value --table leraren in where
and le.col1=value --table leerlingen in where
然后您可以对它们应用where
过滤器
答案 2 :(得分:0)
选择t1.column_names, t2.column_names 从table1 t1 左联接table2 t2 ON t1.id = t2.t1_id t1.voornam = $ username AND t1.password = $ password t2.field ='some value';