繁体   English   中英

使用 WHERE 选择多个表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM