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