10、mysql多表查询 和 重命名

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

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

 

 举例说明:有 Store_Information 表1

      

      

      Geography 表2

      

      表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栏位分组

 

          结果为:

            

 

 

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

 

2、as 重命名

    语法:

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

 

    

 

      针对这条语句优化

 

     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代替了

posted @ 2020-05-06 14:11  贫僧法号-->乱来  阅读(989)  评论(0编辑  收藏  举报