繁体   English   中英

Laravel 语法获取具有不同结果的查询

[英]Laravel syntax to get query with distinct results

我有两个 MySQL 表:

+-----------+    +-----------+
| id.Table1 |    | id.Table2 |
+-----------+    +-----------+
|         1 |    |         2 |
|         2 |    |         3 |
|         3 |    |         4 |
|         4 |    +-----------+
|         5 |
+-----------+

我想得到一个带有这个结果的查询:

+-----------+
| id.Table1 |
+-----------+
|         1 |
|         5 |
+-----------+

我该怎么做?

一种方法是使用NOT IN子句:

SELECT ID FROM TABLE1 WHERE ID NOT IN (SELECT ID FROM TABLE2)

尝试NOT EXISTS

SELECT ID FROM TABLE1 as a WHERE NOT EXISTS (SELECT ID FROM TABLE2 as b where a.ID=b.ID)

您可以通过使用LEFT JOINNULL检查来实现结果。 工作查询是:

SELECT T1.Id
FROM Table1 T1
LEFT JOIN Table2 T2 ON T2.Id = T1.Id
WHERE T2.Id IS NULL

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM