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