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