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

I have two MySQL tables :

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

I want to get a query with this result:

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

How do I do it?

One way is to use NOT IN clause:

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

TRY NOT EXISTS

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

You can achieve the result by using LEFT JOIN with NULL check. The working query is:

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