为了账号安全,请及时绑定邮箱和手机立即绑定

以下两种用法的效果是一样的吗?为什么?

以下两种用法的效果是一样的吗?为什么?

神不在的星期二 2022-05-13 15:11:09
select name from china_employeesunionselect name from usa_employees与select distinct name from china_employees,usa_employees的效果是一样的吗
查看完整描述

3 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞


第1种是将两个表完全不同行连起来,即在第一张表后面加了第二张表的不同行
方法2是做笛卡儿积,如表1有m行,表2有n行,则结果有m*n行的组合
且两个name字段是分两列的
因此你安方法2写,sql肯定报错,告诉你name指示不清,因为有两列都叫name分别为china_employees.name,usa_employees.name

查看完整回答
反对 回复 2022-05-16
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

建议第一种 如果需要去重
select distinct name from
(
select distinct name from china_employees
union
select distinct name from usa_employees
)

查看完整回答
反对 回复 2022-05-16
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

不一样 union相当于一个交集 输出的是两个表都有的
distinct相当于并集 但是 你第二个语句是不是有问题啊 这个语句用来多列查询的

查看完整回答
反对 回复 2022-05-16
  • 3 回答
  • 0 关注
  • 175 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号