oracle统计两个表的数据用select * from 他变了
时间: 2024-12-21 13:29:55 浏览: 12
在Oracle中,如果你想要统计两个表`table1`和`table2`的数据,并不是直接通过`SELECT * FROM table1 JOIN table2`,因为这将返回两个表所有列的所有数据。如果你想统计它们的交集、并集或者比较某些列的数目,可以使用以下几种SQL查询:
- **合并两个表的数据**(无条件合并):
```sql
SELECT *
FROM table1
UNION ALL
SELECT *
FROM table2;
```
- **计算交集(共有的记录)**:
```sql
SELECT COUNT(*)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
```
这里需要替换`column_name`为实际的对应列名。
- **计算并集(每个表的总记录数)**:
```sql
SELECT COUNT(*)
FROM (
SELECT *
FROM table1
UNION ALL
SELECT *
FROM table2
);
```
- **统计特定字段的唯一值**:
```sql
SELECT column_name, COUNT(*)
FROM (
(SELECT DISTINCT column_name FROM table1)
UNION ALL
(SELECT DISTINCT column_name FROM table2)
) subquery
GROUP BY column_name;
```
注意:选择合适的方式取决于你想要分析的具体内容。
阅读全文