网站首页 > 文章精选 正文
关于【t1 UNION t2 】的描述,以下错误的是()?
A t1的字段总数要与t2的一致
B 相同字段序号下,t1的字段类型必须要与t2的字段类型一致
C 相同字段序号下,t1的字段名必须要与t2的字段名一致
D 新的结果集中可能含有重复记录
-----
BCD描述错误;
A描述正确,字段总数不一致时无法union;
相同字段序号下,t1的字段类型与t2的字段类型 可以不一致;
相同字段序号下,t1的字段名必须要与t2的字段名 可以不一致;
union 会去重,新的结果集中不可能含有重复记录;union all不会去重,新的结果集中可能含有重复记录;
BCD描述错误;
A描述正确,字段总数不一致时无法union;
B:
mysql> desc t1 ;
+-------+--------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------+------+-----+---------+-------+
| score | double | YES | | NULL | |
+-------+--------+------+-----+---------+-------+
1 row in set (0.00 sec)
mysql> desc t2 ;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| score | char(1) | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)
mysql> insert into t1 values(80.5) ;
Query OK, 1 row affected (0.00 sec)
mysql> insert into t2 values(2) ;
Query OK, 1 row affected (0.00 sec)
mysql> select score from t1 union select score from t2 ; -- 字段类型不一致,能正常查询
+-------+
| score |
+-------+
| 80.5 |
| 2 |
+-------+
2 rows in set (0.00 sec)
mysql>
C:
mysql> alter table t2 change score score2 char ; -- 修改字段名为score2
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> insert into t2 values(3) ;
Query OK, 1 row affected (0.00 sec)
mysql> select * from t1 ;
+-------+
| score |
+-------+
| 80.5 |
+-------+
1 row in set (0.00 sec)
mysql> select * from t2 ;
+--------+
| score2 |
+--------+
| 2 |
| 3 |
+--------+
2 rows in set (0.00 sec)
mysql> select score from t1 union select score2 from t2 ; -- 字段名不同,不报错,以第一个子表的字段名为准
+-------+
| score |
+-------+
| 80.5 |
| 2 |
| 3 |
+-------+
3 rows in set (0.00 sec)
mysql>
D:
mysql> insert into t1 values(2) ;
Query OK, 1 row affected (0.00 sec)
mysql> select * from t1 ;
+-------+
| score |
+-------+
| 80.5 |
| 2 | -- 含有记录2
+-------+
2 rows in set (0.00 sec)
mysql> select * from t2 ;
+--------+
| score2 |
+--------+
| 2 | -- 含有记录2
| 3 |
+--------+
2 rows in set (0.00 sec)
mysql> select score from t1 union select score2 from t2 ; -- 会去重
+-------+
| score |
+-------+
| 80.5 |
| 2 | -- 只有一个2,已去重
| 3 |
+-------+
3 rows in set (0.00 sec)
mysql>
end
猜你喜欢
- 2025-05-09 面试必问的 MySQL 四种隔离级别,看完吊打面试官
- 2025-05-09 面试官:mysql自增长id用完了怎么办?这是我见过最中肯的答案了
- 2025-05-09 阿里面试:MySQL Binlog有哪些格式?底层原理?优缺点?
- 2025-05-09 1.5万字+30张图盘点程序员面试必会MySQL索引常见的11个知识点
- 2025-05-09 面试中的老大难-mysql事务和锁,一次性讲清楚
- 2025-05-09 手把手指导Linux系统centos7安装数据库MySQL5.7
- 2025-05-09 面试官问我MySQL索引为啥用B+树?我让他去问作者
- 2025-05-09 MySQL面试题:自增ID达到上限了会出现什么问题?
- 2025-05-09 MySQL索引失效问题,看完手撕面试官
- 2025-05-09 阿里面试:MySQL死锁的原因?解决方案有哪些?
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)