Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL的基本问题:如何从一个表中获取不在另一个表中的行?_Php_Mysql - Fatal编程技术网

Php MySQL的基本问题:如何从一个表中获取不在另一个表中的行?

Php MySQL的基本问题:如何从一个表中获取不在另一个表中的行?,php,mysql,Php,Mysql,我有一个用户名列表,在我的用户表中有一个名为username+other info的列 在较小的recentusers表中,我还有另一个用户名列表,其中有一列名为username 如何创建一个mysql查询来获取users表中但不在recentusers表中的所有用户名 我知道这可能很简单,但任何帮助都将不胜感激 select username from users where username not in (select username from recentusers) 然后在第一个用

我有一个用户名列表,在我的用户表中有一个名为username+other info的列

在较小的recentusers表中,我还有另一个用户名列表,其中有一列名为username

如何创建一个mysql查询来获取users表中但不在recentusers表中的所有用户名

我知道这可能很简单,但任何帮助都将不胜感激

select username from users where username not in (select username from recentusers)
然后在第一个用户名之后添加您想要选择的其他信息

正如OMG Ponies所指出的,这个查询的运行速度与使用

然后在第一个用户名之后添加您想要选择的其他信息

正如OMG Ponies所指出的,此查询的运行速度与使用NOT IN关键字的速度一样快。NOT IN关键字应该很有帮助:

SELECT username
FROM users
WHERE username NOT IN (
    SELECT username
    FROM recentusers
)
NOT IN关键字应该有帮助:

SELECT username
FROM users
WHERE username NOT IN (
    SELECT username
    FROM recentusers
)

连接应该比子查询快,尽管我不知道mysql是否支持这一点

select * from users
left outer join recentusers
on users.key = recentusers.key

连接应该比子查询快,尽管我不知道mysql是否支持这一点

select * from users
left outer join recentusers
on users.key = recentusers.key

您还可以使用执行速度比子查询快的左联接:

SELECT
    users.username
FROM
    users LEFT JOIN recentusers
        ON users.username = recentusers.username
WHERE
    recenterusers.username is null

您还可以使用执行速度比子查询快的左联接:

SELECT
    users.username
FROM
    users LEFT JOIN recentusers
        ON users.username = recentusers.username
WHERE
    recenterusers.username is null

仅供参考:这将与使用LEFT-JOIN/IS-NULL:@OMG-Ponies:极好的信息的查询运行速度一样快。我不知道。谢谢你指出。仅供参考:这将与使用LEFT JOIN/IS NULL:@OMG Ponies:极好的信息的查询一样快。我不知道。感谢您指出这一点。关于MySQL,这是不正确的,并且您的查询没有列出不在recentusers表中的用户:查询是正确的,关于标准SQL语法,请注意outer关键字。第二,我写到我不知道MySql是否支持这种语法,因为MySql自己做饭。@BeowulfOF:查询是错误的,因为您忘记添加recentusers.key是null关于MySql是错误的,您的查询没有列出不在recentusers表中的用户:关于标准SQL语法,查询是正确的,注意外部关键字。其次,我写到我不知道MySql是否支持这种语法,因为MySql自己做饭。@BeowulfOF:查询是错误的,因为您忘记添加recentusers.key为NULL