mysql中的using关键字

今天在做数据库练习题时,突然发现以前没有注意过的一个问题,多表连接时最后的查询结果中有重复的属性列怎么去重,大家都知道,多表连接时比较的分量必须是相同的属性组,两个表连接之后,select出所有的属性列,发现出现两列重复属性

比如有两个表,course表和score表,表结构如下:

                                                  

   course表                                                              score表

然后查询score表中每个学生所选课的所有信息(学号,课程号,课程名,任课教师的编号,选修课的成绩)

SELECT *
FROM  course as t1  INNER JOIN  score as t2 ON t1.cno = t2.cno;
--或者可以写成 FROM  course as t1 , score as t2 where t1.cno = t2.cno

结果:

而我们想要的结果是仅仅只有一列cno就可以了,这时就需要去重,可以使用下面语句指定从哪一个表中选取cno列:

SELECT t1.*,t2.sno,t2.Degree
FROM  course as t1  INNER JOIN  score as t2 ON t1.cno = t2.cno;

结果:

当然,这样的话就比较麻烦,需要我们自己手动指定从哪一个表中选取属性列,此时Using关键字就派上用场了:

SELECT * 
FROM course INNER JOIN score using(cno); 

结果和上面的方法一样,只会显示一个cno列:

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值