簡體   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