SQL语法之:连表查询:union all

kakarotto-chen / 2023-05-06 / 原文

1、准备

  • 两条sql查询出来的字段数必须一致

表1


字段:


数据:


表2


字段:


数据:


2、使用

1、两张表结构完全一样,查询字段顺序也一样

select ID,NAME,SEX,AGE,NAME2 from T_01

UNION ALL

select ID,NAME,SEX,AGE,NAME2 from T_02;

结果:

2、查询字段顺序不一样,但是对应的字段的类型一样

select ID,NAME2,SEX,AGE,NAME from T_01

UNION ALL

select ID,NAME,SEX,AGE,NAME2 from T_02;

结果:

3、查询字段顺序不一样,对应的字段的类型不一样:mysql可以,oracle不行(必须字段类型完全一样)

select SEX,ID,NAME2,AGE,NAME from T_01

UNION ALL

select ID,NAME,SEX,AGE,NAME2 from T_02;

下面是mysql的结果。oracle是会报错,需要强制把字段类型转为一致