[英]Select multiple tables with WHERE
有人可以告诉我如何在查询中使用 WHERE 选择多个表吗?
$sql = "SELECT * FROM leerlingen, leraren WHERE voornaam= '$username' AND password= '$password'";
因为这个查询给出了错误
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 。
要在 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
过滤器
SELECT t1.column_names, t2.column_names FROM table1 t1 LEFT JOIN table2 t2 ON t1.id = t2.t1_id WHERE t1.voornam = $username AND t1.password = $password t2.field ='some value';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.