簡體   English   中英

選擇其他表中不存在值的行

[英]Selecting rows where value don't exist in other table

我有兩張桌子。 一個用於主要帳戶,一個用於禁止帳戶,我想選擇主要帳戶中的所有成員,並且只選擇那些未被禁止的成員。

SELECT Username, $field AS Output
FROM `Player_Accounts`, `Ban_List`
WHERE Ban_List.Banned_Name != Username
ORDER BY $field DESC LIMIT 0, 25;

該查詢花費了1,30分鍾的時間來執行和顯示結果

恕我直言,您的查詢不正確。 行數非常高(擁有130萬用戶??)

嘗試這個:

SELECT p.username
FROM Player_Accounts p
WHERE NOT EXISTS(
    SELECT 'BANNED'
    FROM Ban_List b
    WHERE b.banned_name = p.username
)

選擇:

SELECT p.username
FROM Player_Accounts p
LEFT OUTER JOIN Ban_List b
ON p.username = b.banned_name
WHERE b.banned_name IS NULL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM