首页 > 试题广场 >

在 MySQL 中,有两张使用以下命令创建的数据库表: cr

[单选题]
在 MySQL 5.7(或更早)环境下,有两张使用以下命令创建的数据库表:
create table T(a INT, b char);
有几条查询语句如下所示:
语句1:
select a, b from T where a = 10
union all
select a, b from T where c = "20"
语句2:
select a, b from T where a = 10
union
select a, b from T where c = "20"
语句3:
select a, b from T group by a, b
语句4:
select a, b from T group by a, b order by null;
以下说法正确的是?

  • 语句2比语句1更加高效。
  • 语句2与语句1不会有效率上的差异。
  • 语句4比语句3更加高效。
  • 语句4与语句3不会有效率上的差异。
union和union all用来合并两个及以上的select语句的结果。union会对结果排序和去重。union all不会排序和去重。所以union all快点。 group by分组,默认排序。加个order by null,取消排序。所以第四个快点
编辑于 2025-05-18 07:49:21 回复(2)
union和union all用来合并的语句的结果。 union会对结果去重并且排序;union all不会排序和去重。
发表于 2025-09-24 16:30:18 回复(0)
union和union all用来合并两个及以上的select语句的结果。union会对结果排序和去重。union all不会排序和去重。所以union all快点。 group by分组,默认排序。加个order by null,取消排序。所以第四个快点
发表于 2025-09-22 18:42:24 回复(0)
union all和Groud by 表 order by null 效率高
发表于 2025-06-05 02:22:38 回复(0)