MySQL,从结果集(另一个视图)中排除结果集(从一个视图中)



嗨,我有一个无法解决的问题,我有两个视图,看起来像这样:

表1(插入的用户(--------------------表2(删除的用户(

[Name][Date] [Name][Date]
John---- John----
Andrew---- Michael----
Michael----
Sam----

您可以使用这样的查询:

从表1 t1中选择名称WHERE NOT EXISTS(从表2中选择1 t2,其中t1.name=t2.name(;

样本

MariaDB [bernd]> select * from table1;
+----+-------+
| id | name  |
+----+-------+
|  1 | Peter |
|  2 | Paul  |
|  3 | John  |
+----+-------+
3 rows in set (0.02 sec)
MariaDB [bernd]> select * from table2;
+----+------+
| id | name |
+----+------+
|  1 | Paul |
+----+------+
1 row in set (0.00 sec)
MariaDB [bernd]> SELECT NAME FROM table1 t1 WHERE NOT EXISTS (SELECT 1 FROM table2 t2 WHERE t1.name = t2.name);
+-------+
| NAME  |
+-------+
| Peter |
| John  |
+-------+
2 rows in set (0.09 sec)
MariaDB [bernd]> 

最新更新