2张表中如何查出不同的数据
时间: 2024-03-17 22:39:39 浏览: 75
Flowable-6.7.2 79 张表中文注释版
可以使用 MySQL 中的 `LEFT JOIN` 或 `RIGHT JOIN` 或 `FULL OUTER JOIN` 来实现查出不同的数据。
假设有两张表 `table1` 和 `table2`,它们都有相同的列 `col1` 和 `col2`,我们可以使用以下 SQL 语句查出在 `table1` 中有但在 `table2` 中没有的数据:
```
SELECT table1.col1, table1.col2
FROM table1
LEFT JOIN table2 ON table1.col1 = table2.col1 AND table1.col2 = table2.col2
WHERE table2.col1 IS NULL;
```
我们也可以使用以下 SQL 语句查出在 `table2` 中有但在 `table1` 中没有的数据:
```
SELECT table2.col1, table2.col2
FROM table2
LEFT JOIN table1 ON table2.col1 = table1.col1 AND table2.col2 = table1.col2
WHERE table1.col1 IS NULL;
```
如果你想查出两个表中所有不同的数据,可以使用 `FULL OUTER JOIN`:
```
SELECT table1.col1, table1.col2
FROM table1
FULL OUTER JOIN table2 ON table1.col1 = table2.col1 AND table1.col2 = table2.col2
WHERE table1.col1 IS NULL OR table2.col1 IS NULL;
```
注意,MySQL 中没有 `FULL OUTER JOIN` 关键字,但可以使用 `LEFT JOIN` 和 `RIGHT JOIN` 的组合来实现。
阅读全文