chr*_*l89 6 mysql sql database
说我有一个查询,例如:
SELECT *
FROM Table_1
JOIN Table_2
ON Table_1.Col_1 = Table_2.Col_1
Run Code Online (Sandbox Code Playgroud)
所以我有100条记录,其中98条是相同的,所以查询将打印出98条中的98条.如何让SQL打印出未能满足连接的2?
使用LEFT JOIN:
SELECT *
FROM Table_1
LEFT JOIN Table_2 ON (Table_1.Col_1 = Table_2.Col_1)
Run Code Online (Sandbox Code Playgroud)
如果子句Table_2不匹配,则字段为NULL ON.然后,您将能够添加一个WHERE TABLE_2.Col_1 IS NULL仅保留Table_1没有匹配的记录Table_2.
LEFT JOIN的替代方法是使用EXISTS.
SELECT * FROM Table_1
WHERE NOT EXISTS (SELECT * FROM Table_2 WHERE Col_1 = Table_1.Col_1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3371 次 |
| 最近记录: |