mysql连接两表并重新取名_10、mysql多表查询 和 重命名

前面我们都是说怎么查询一个单表,但实际的工作中,往往都是几个表数据交互的情况

有时候就需要我们根据多个表去查询我们想要的数据

举例说明:有 Store_Information表1

7f01189dcff1565534d6ea661b9cf3c6.png

Geography 表2

d19837e0583f7a7cc4bb93caee229d92.png

表2说明:

region_name    地区

store_name      店铺名

1、如果我们想知道每个地区(region_name) 的营业额(sales)呢?表1没有地区,表二没有营业额

这时候就需要我们把两个不同的表格串联起来,怎么串联呢。。。我们可以看到两个表格都有同一个栏位名

store_name

1、多表查询

语法:

select   栏位名   from   表1,表2  where   表1.相同栏位名  =  表2.相同栏位名

说明:

where   子句后面的条件,代表这两个表的链接

举例说明:

1)查看地区的销售额

语句为:

SELECT Geography.region_name,   SUM(Store_Information.sales)

FROM Store_Information,  Geography

WHERE Store_Information.store_name   =    Geography.store_name

GROUP BY   Geography.region_name

语法解释:

select     Geography表的region_name栏位  和    Store_Information表的sales栏位

from       来自Store_Information和 Geography表

where     这两个查询的栏位,不是同一个表,所以需要把这两个表连接起来,他们存在相同的栏位

group  by     根据Geography表的region_name栏位分组

结果为:

58ad84aafaed4c3b563aa0b6bcc43fcc.png

这时候我们发现,这条语句死鬼长,还难看~~~~~怎么优化呢,这就涉及到as 重命名了

2、as 重命名

语法:

select    栏位名1,栏位名2   from   表名1   as   新表名1,表名2  as  新表名2

59ba1df3e7be5770bdc9219b8218811c.png

针对这条语句优化

SELECT   a2.region_name,SUM(a1.sales)

FROM Store_Information  as  a1 ,Geography as a2

WHERE a1.store_name = a2.store_name

GROUP BY a2.region_name

从这语句中可以看到表名已经由a1和a2代替了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值