猿问

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

select name from china_employees
union
select name from usa_employees

select distinct name from china_employees,usa_employees的效果是一样的吗

神不在的星期二
浏览 176回答 3
3回答

胡子哥哥

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

吃鸡游戏

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

杨__羊羊

不一样 union相当于一个交集 输出的是两个表都有的distinct相当于并集 但是 你第二个语句是不是有问题啊 这个语句用来多列查询的
随时随地看视频慕课网APP
我要回答