当前位置:首页 » 编程语言 » sql对多个表执行同样的
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql对多个表执行同样的

发布时间: 2023-03-13 16:42:32

⑴ 用sql查询两个表中相同的数据

1、创建测试表;

create table test_col_1(id number, var varchar2(200));

create table test_col_2(id number, var varchar2(200));

⑵ sql查询两个表相同的数据

SQL语句如下:

SELECT * from TABLE1
full join TABLE2 on TABLE1.xingming = TABLE2.xingming
where
TABLE1.xingming is null or TABLE2.xingming is null

分析:

1、首先得出两个表的并集

从结果中可以看出,表1中的赵二在表2中没有相同xingming的记录。

表2中的刘六在表1中没有相同xingming的记录。

本题还有其它多种解法,此处列出比较好理解的一种。

(2)sql对多个表执行同样的扩展阅读:

使用自联接

即使表在数据库中没有自反关系,也可将它与自身联接。 例如,可使用自联接查找生活在同一城市的作者对。

与任何联接一样,自联接至少需要两个表。 不同之处在于,不是向查询中添加第二个表,而是添加同一个表的第二个实例。 这样,可将表的第一个实例中的列与第二个实例中的同一列相比较,这样可相互比较列中的值。查询和视图设计器为表的第二个实例分配一个别名。

例如,如果要创建自联接来查找居住在 Berkeley 内的所有作者对,可将表的第一个实例中的 city 列与第二个实例中的 city 列相比较。 所得到的查询可能类似于:

SELECT
authors.au_fname, authors.au_lname, authors1.au_fname AS Expr2, authors1.au_lname AS Expr3

FROM authors INNER JOIN authors authors1 ON authors.city = authors1.city

WHERE
authors.city = 'Berkeley'

参考资料:

网络.full join

⑶ 如何利用SQL语句将多个工作表中具有相同属性的数据汇总起来

将多个表中的数据汇总最常用的办法是使用union all,具体的要视表结构、“相同属性”的具体定义、汇总方式等因素而定,可能还要用到连接、筛选、子查询、分组等手段,当然聚合函数sum是少不了的。

下面例子实现将t1,t2,t3中的各个产品汇总起来,显示每种产品的总量:

select t.proct ,sum(t.qty) from
(select proct,qty from t1
union all
select proct,qty from t2
union all
select proct,qty from t3) t
group by t.proct;

⑷ 用sql语句进行多表连接查询出现重复数据

1、用select语句,查看两个表中的数据,确认下来的结果是每个表中都只有两行数据;